Javascript获取日期()对象从字符串时间和日期
问题描述:
我正在编程一个Facebook聊天机器人,并从用户接收日期和时间,我想创建一个Date()类型的对象。Javascript获取日期()对象从字符串时间和日期
接受的格式从用户:
日期:
15.9.2017
15/9/2017
15/09/2017
15.09.2017
时间:
15:30 et
15:30
3pm et
3pm
你会建议我一些库(我已经看了moment.js)?你会如何解析这些格式?
编辑
对于时间验证我用这个表达式:
/((0?[0-9]{1,2} ?(pm|am) ?(et|at)?)|(0?[0-9]{1,2}:0?[0-9]{1,2} ?(pm) ?(et|at)?)|(0?[0-9]{1,2}:0?[0-9]{1,2} ?(et|at)?))/
对于日期验证我用这个表达式:
/(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.]\d{4}/
答
JavaScript有非常有限的日期/时间支持,并且通常是建议ded使用库来解析任何需求。
在我看来,JavaScript的事实上的日期时间库它Moment.js。
使用Moment.js,你可以在你的例子提供一个日期字符串一样,用它描述了格式的日期字符串是在格式字符串沿着
例如:
var date = moment("15.9.2017", "D.M.YYYY");
对于次您可以使用H:m:s格式的字符串,并且还有一个用于额外时区操作的时区扩展。
所有的文档都可以在https://momentjs.com/docs/,解析部分是在这里:点(。)点的情况下https://momentjs.com/docs/#/parsing/
使用新的日期(15/9/2017)替换为点(“/”或“ - ” ) –
不,我需要包括时间和所有格式 – durisvk
这些都是被接受的格式吗? 2016-12-25会被拒绝吗? – trincot