有没有提供模糊日期字符串的Node.js模块

Are there any Node.js modules that provide fuzzy date strings?

本文关键字:Node js 模块 字符串 日期 模糊 有没有      更新时间:2023-09-26

我想到的是"一分钟前"或"3周前"之类的字符串。

我可以很容易地移植我在其他语言中发现的例子,但如果这些东西已经存在,就没有必要重新发明轮子。

我写了一个名为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() )

我发现require(./date)(即直接使用datejs)和npm install datejs中的datejs不能像宣传的那样工作,至少在节点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'