将自然语言日期/时间值解析为格式化的日期/时间字符串

时间:2010-03-02 13:25:42

标签: php jquery datetime

我试图让用户在输入字段中输入日期和时间值。一些例子可能包括:

Tomorrow at 3pm
Now
Today at 1pm
Next tuesday 4pm

我如何将这样的可读文本解析为日期/时间字符串?

E.g. dd/mm/yyyy hh:mm

可以使用jquery在客户端完成,还是必须通过php完成ajax?

提前感谢任何建议或见解:)

4 个答案:

答案 0 :(得分:6)

有一个开源的javascript库,用日期做所有那些时髦的东西。您可以查看http://www.datejs.com/

答案 1 :(得分:2)

虽然我投票支持datejs.com,但另一个选择是timeapi.org。

timeapi.org有一个JSONP API,用于将自然语言查询转换为日期/时间。

答案 2 :(得分:0)

感谢思南和vsr。我投票赞成你的答案。 我最初对datejs提供的内容感到非常兴奋,但它在处理自然语言日期时间方面似乎有限。它不能很好地处理日期+时间。

timeapi.org看起来很有前途,但因为它使用ruby,而api版本依赖的服务似乎不太可靠。

我测试了php的strtotime,发现它可以很好地处理更自然的语言日期时间。使用PHP允许我添加其他不受支持的自然语言术语。所以看起来我将采用ajax来处理来自用户的自然语言日期时间。

很想听听您对我的方法的见解。 :)再次感谢!

答案 3 :(得分:0)

我认为这是Is there a natural language parser for date/times in javascript?

的副本

我刚才给出的问题的答案如下:

SugarJS支持一些自然语言解析日期和时间。

您可以在此处跳转到实时示例:http://sugarjs.com/dates

例如,它支持以下输入:

  • 后天
  • 星期一2周
  • 明年5月25日

然后,您可以将结果转换为不同的日期格式,或使用API​​进一步操纵日期。