2013-01-06 64 views
3

我知道有一些分析很多JavaScript库和格式的日期在Javascript,但我想用一个允许解析日期字符串作为这个区域设置和时区支持日期解析库:寻找在JavaScript中

"sáb, 5 ene 2013 13:21:24 PST" 

即相当于:

"Sat, 5 jan 2013 21:21:24 UTC" 

我喜欢moment.jssugar.js,两个都是很好的图书馆和对不同的地区的支持,但是,据我所知,他们不支持时区的形式:“CES ,PST,CET,...“,只有t他的iso格式为“+01:00”。

我已经测试了很多其他库,唯一符合要求的是date.js,工作正常,但有两件事我不喜欢它,该项目似乎自2007年以来被放弃, t使用require()支持模块加载,因为它是为Web使用而创建的,我需要它用于Titanium Mobile应用程序,因此符合Node.js的库更适合。

换句话说,我需要一个Javascript lib中,让我这样做(用自己的API方法):

var DateHelper = require('my-date-helper-lib'); 
var strDate = 'sáb, 5 ene 2013 13:21:24 PST'; 
console.log(strDate + ' => ' + DateHelper.parse(strDate).toISOFormat()); 

该代码应在控制台类似打印:

sáb, 5 ene 2013 13:21:24 PST => 2013-01-05 21:21:24+0000 

我可以修改date.js在我的应用程序中使用它,但是如果有任何其他库不需要触及,我更喜欢它。

有没有人知道任何符合要求的图书馆?

+0

不是一个答案,你会喜欢,但你可以叉例如sugar.js在GitHub上,并使其发挥作用:https://github.com/andrewplummer/Sugar /blob/master/lib/date.js – r03

+0

一个自己动手总是一个选项:-),但我的问题是关于一个已经完成这个工作的库,除此之外,date.js库的作品,但有一些警告和正如我在我的问题中所说的,我想知道是否有更好的选择。 – Roberto

回答

3

退房模块timezone

var tz = require('timezone/loaded'), 
    equal = require('assert').equal, 
    utc; 

// Get POSIX time in UTC. 
utc = tz('2012-01-01'); 

// Convert UTC time to local time in a localize language. 
equal(tz(utc, '%c', 'fr_FR', 'America/Montreal'), 
     'sam. 31 déc. 2011 19:00:00 EST'); 
+0

Hi @ werner-vesteras你的答案很有趣,但我没有找到一种解析字符串日期的方法,它使用默认的内置Date对象来解析字符串,但是对于格式日期来说却是非常全面的,但是那不是我的需要。也许我错过了一些东西,但是我没有看到解析我在问题中提供的示例字符串的方法,请让我知道如果我错了。 – Roberto