【发布时间】:2011-05-22 17:49:11
【问题描述】:
我正在考虑诸如“一分钟前”或“3 周前”之类的字符串。
我可以轻松移植我在其他语言中找到的示例,但如果这些东西已经存在,则无需重新发明轮子。
【问题讨论】:
-
This might help。根据当前时间向您显示模糊日期。
标签: javascript date time node.js
我正在考虑诸如“一分钟前”或“3 周前”之类的字符串。
我可以轻松移植我在其他语言中找到的示例,但如果这些东西已经存在,则无需重新发明轮子。
【问题讨论】:
标签: javascript date time node.js
我编写了一个名为 moment 的库,它与 DateJS 一样,只是它更小,不会修改 Date.prototype,并且可以在浏览器和 NodeJS 中运行。
npm install moment
用法:
moment(1316369911638).fromNow() // "3 minutes ago"
它也支持 i18n 和自定义,所有字符串都被公开以供修改。
【讨论】:
你可以试试 date.js:http://www.datejs.com/
要使其与脚本最底部的节点兼容,请添加以下行:
module.exports = Date;
那么你可以要求它:
var date = require('./date');
假设date.js在同一个文件夹,否则修改require路径。
那么一个简单的测试代码示例是:
console.log( date.today().next().thursday() )
【讨论】:
npm install datejs 不使用修改后的 datejs 都不会像 Node v0.4.7 中宣传的那样直接工作
我发现require(./date)(即直接使用 datejs)和来自 npm install datejs 的 datejs 不能像宣传的那样工作,至少在 node v0.4.9 中是这样。
datetime 模块似乎对我有用:
$ npm install datetime
datetime@0.0.2 ./node_modules/datetime
└── vows@0.5.8
$ node --version
v0.4.9
$ node
> var datetime = require('datetime')
> now = new Date()
Thu, 14 Jul 2011 05:50:06 GMT
> # wait for a bit
...
...
> datetime.formatAgo(now)
'18 seconds ago'
【讨论】: