【问题标题】:Converting humanized strings to dates moment.js将人性化字符串转换为日期 moment.js
【发布时间】:2013-05-04 03:24:52
【问题描述】:

Moment.js 做人性化和日历日期,例如:

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

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

有没有办法反过来呢?如果我给它"Today at 10:17 AM",它会返回一个日期对象,其中包含今天的日期和上午 10:17 作为时间?

【问题讨论】:

  • 类似问题在这里:stackoverflow.com/questions/1003326/…
  • 是的,抱歉,没有搜索自然语言。虽然那里的答案(以及这里唯一的答复)不处理日期+时间
  • 绝对!并不是说不好,我只是认为考虑到贡献的数量,了解它会很高兴;)

标签: javascript parsing date momentjs


【解决方案1】:

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

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

【讨论】:

  • 对不起,我搜索了人类可读的,只得到了 datejs 的建议,它已经多年没有更新,显然仍处于 alpha 状态。忘记搜索自然语言。 Sugarjs 看起来很棒!谢谢!虽然它似乎在“下周四 11 点”之类的日期+时间上不起作用,但我可以在顶部添加该解析。
  • 我在此过程中发现的一件事(我花了很长时间才知道发生了什么)是 addHours 操作等实际上正在改变底层对象而不是创建一个新对象。 :-(
猜你喜欢
  • 2016-11-10
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-27
  • 2018-12-20
相关资源
最近更新 更多