【问题标题】:How to define distance in time in words in pure javascript?如何在纯javascript中用文字定义时间距离?
【发布时间】:2011-05-26 13:11:22
【问题描述】:

我想在我的 Web 应用程序中包含非常常见的功能。我希望将时间/日期写成从现在开始的时间距离,例如(2 小时前)。

Rails 对这个功能有很好的实现,但我需要用纯 javascript 编写的类似的东西。问题是,我的应用程序中的很多页面都被缓存了,唯一会改变的是实际时间。

JS 中是否有任何扩展库可以将日期转换为单词中的时间距离?

【问题讨论】:

  • 如果时间来自服务器,请注意不同时区等问题,否则人们会看到“-2小时前”。
  • @Shadow Wizard 对于 timeago(我假设其他类似的库),只要日期是 UTC 或包含它应该使用用户的时区(由浏览器报告)的时区。

标签: javascript jquery


【解决方案1】:

用于 jQuery 的 timeago 插件运行良好。

来自示例代码:

jQuery(document).ready(function() {
  jQuery("abbr.timeago").timeago();
});

由于您使用库引用,我假设“纯 javascript”只是服务器上的任何内容。

【讨论】:

  • 是的,构图不好。除了缓存页面之外,我想避免从服务器中提取任何内容。
  • Timeago 工作正常,但中断是您在嵌入式 iframe 中使用它
【解决方案2】:

如果不想使用 jQuery,可以使用JavaScript Relative Time Helpers。它是Date 类的扩展,提供了方便的toRelativeTime() 方法。

【讨论】:

    猜你喜欢
    • 2017-04-05
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2021-12-26
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多