我试图让用户在输入字段中输入日期和时间值。一些例子可能包括:
Tomorrow at 3pm
Now
Today at 1pm
Next tuesday 4pm
我如何将这样的可读文本解析为日期/时间字符串?
E.g. dd/mm/yyyy hh:mm
可以使用jquery在客户端完成,还是必须通过php完成ajax?
提前感谢任何建议或见解:)
答案 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
例如,它支持以下输入:
然后,您可以将结果转换为不同的日期格式,或使用API进一步操纵日期。