2011-05-22 17 views
6

Estoy pensando en cadenas como "hace un minuto" o "hace 3 semanas", ese tipo de cosas.¿Hay módulos Node.js que proporcionan cadenas de fechas difusas?

Podría portar fácilmente ejemplos que he encontrado en otros idiomas, pero no hay necesidad de reinventar la rueda si esto ya está allí.

+0

[Esto podría ayudar] (http://webdesign.onyou.ch/2010/08/04/javascript-time-ago-pretty-date/). Muestra una fecha difusa basada en la hora actual. – Raynos

Respuesta

2

Algo que puede probar es date.js: http://www.datejs.com/

Para que sea compatible nodo en la parte inferior de la secuencia de comandos añadir la línea:

module.exports = Date;

A continuación, puede requerir que:

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

Suponiendo date.js está en la misma carpeta, de lo contrario mod ify la ruta requerida.

Entonces un simple ejemplo de código de probar es:

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

+2

Parece que alguien ya lo hizo y lo publicó como un paquete de nodo disponible a través de npm (npm install datejs). – alnorth29

+0

Ha no se pone mejor que eso: D – tbranyen

+0

Ni 'npm install datejs' que no usa una fecha modificada js trabaja directamente como se anuncia en el nodo v0.4.7 –

1

he encontrado que require(./date) (es decir, utilizando Datejs directamente) y Datejs de npm install datejs no funcionan como se anuncia, al menos con v0 nodo .4.9.

El módulo datetime parece funcionar para mí, sin embargo:

$ npm install datetime 
[email protected] ./node_modules/datetime 
└── [email protected] 
$ 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' 
4

escribí una biblioteca llamada moment que hace lo hace Datejs, sólo que es más pequeño, no modifica Date.prototype, y funciona tanto en el navegador y NodeJS.

npm install moment 

Uso:

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

Es compatible con i18n y personalización, así, todas las cadenas están expuestos para su modificación.

+0

Ahora es [moment.js] (https://github.com/timrwood/momento) – mrzmyr

+0

Gracias @mrzmyr, se actualiza ahora. – timrwood

Cuestiones relacionadas