Существуют ли модули Node.js, которые предоставляют нечеткие строки даты? - PullRequest
6 голосов
/ 22 мая 2011

Я думаю о таких строках, как "одна минута назад" или "3 недели назад", и тому подобное.

Я мог бы легко портировать примеры, которые я нашел на других языках, но нет необходимостизаново изобрести колесо, если это уже есть.

Ответы [ 3 ]

4 голосов
/ 18 сентября 2011

Я написал библиотеку под названием moment , которая делает то, что делает DateJS, только она меньше, не модифицирует Date.prototype и работает как в браузере, так и в NodeJS.

npm install moment

Использование:

moment(1316369911638).fromNow() // "3 minutes ago"

Он поддерживает i18n и настройку, все строки доступны для модификации.

2 голосов
/ 22 мая 2011

Что-то, что вы можете попробовать, это date.js: http://www.datejs.com/

Чтобы сделать его совместимым с узлами в самом низу скрипта, добавьте строку:

module.exports = Date;

Тогда вам может потребоваться:

var date = require('./date');

Предположим, что date.js находится в той же папке, в противном случае измените требуемый путь.

Затем простой пример кодапроверить это:

console.log( date.today().next().thursday() )

1 голос
/ 14 июля 2011

Я обнаружил, что require(./date) (то есть с использованием datejs напрямую) и datejs из npm install 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...