javascript:如何解析日期字符串
格式为:MMDDHHMM
我想单独考虑一个月,一天,一小时,一分钟,怎么做?
var dateString = '13011948';
文本的长度是固定的,并且始终位于相同的位置。 然后你可以使用substr
将它们切割成部分并使用parseInt
将它们转换为数字。
var month = parseInt(dateString.substr(0, 2), 10), day = parseInt(dateString.substr(2, 2), 10), hour = parseInt(dateString.substr(4, 2), 10), minute = parseInt(dateString.substr(6, 2), 10);
或者,将其放在一个日期对象中。
var date = new Date(); date.setMonth (parseInt(dateString.substr(0, 2), 10) - 1); date.setDate (parseInt(dateString.substr(2, 2), 10)); date.setHours (parseInt(dateString.substr(4, 2), 10)); date.setMinutes (parseInt(dateString.substr(6, 2), 10));
如果你保证它总是采用MMDDHHMM格式,你可以用一个简单的正则表达式来解析它。
var d = "01121201"; var m = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/.exec(d); console.log(m);
哪个会输出
["01121201", "01", "12", "12", "01"]
但是如果可能的话,使用实际日期函数会更好。
您可以执行以下操作以获取上述正则表达式匹配的结果,以创建真正的Javascript Date对象:
//The year will default to the current year var realDate = new Date(); realDate.setMonth(m[1]); realDate.setDate(m[2]); realDate.setHours(m[3]); realDate.setMinutes(m[4]);
编辑
在这里找到的moment.js库看起来很神奇!
结束编辑
这应该有助于… 与日期合作
javascript Date对象中有几种方法可以获得这些参数
var curdate = new Date(); var mday = curdate.getDate(); //returns day of month var month = curdate.getMonth(); //returns month 0-11 var hours = curdate.getHours(); //returns hours 0-23 var minutes = curdate.getMinutes(); //returns minutes 0-59
检查一下
如果您没有日期对象,可以使用它来解析它
var curdate = Date.parse("Jan 1, 2010");
要将日期解析为特定格式,请参阅此处