2013-05-09 60 views
0

Moment.js不人性化,日历日期,例如:转换人性化的字符串日期moment.js

moment().calendar() 
"Today at 10:17 AM" 

它获取当前日期对象,并转换为日历日期,并

有任何方式做到相反?就像我给它"Today at 10:17 AM",它返回一个日期对象与今天的日期和10:17 AM作为时间?

+0

类似的问题在这里:http://stackoverflow.com/questions/1003326/is-there-a-natural-language-parser-for-date-times-in-javascript – arturomp 2013-05-09 15:30:16

+0

是的,抱歉,没有搜索自然语言。虽然那里的答案(和唯一的答复在这里)绝对不会处理日期+时间 – user864572 2013-05-09 17:11:24

+0

!并不意味着这是一个坏的方式,我只是认为能够了解它,因为贡献的数量是很好的;) – arturomp 2013-05-09 17:54:19

回答

8

date.js可以解析人类可读日期:

http://www.datejs.com/

SugarJS也能够分析自然语言日期:

http://sugarjs.com/dates

它可以处理这样的东西:

one day before yesterday 
2 days after monday 
2 weeks from monday 
a second ago 
25 years from now 
last wednesday 

此外,请参阅th是相关的问题:Is there a natural language parser for date/times in javascript?

+0

对不起,我的海鸟人类可读,只能得到datejs的建议,这些建议并没有在几年内更新,仍然显然是在阿尔法。忘了搜索自然语言。 Sugarjs看起来很棒!谢谢!虽然它似乎没有像“下个星期四在11”那样工作,但我可以在上面添加解析。 – user864572 2013-05-09 16:59:09

+0

我一路上发现的事情之一(并花了我很多时间来了解发生了什么)是因为addHours操作和实际上更改了底层对象,而不是创建一个新对象。 :-( – 2014-01-28 08:46:46