格式为: MMDDHHMM
我想单独考虑月,日,时,分,怎么做?
答案 0 :(得分:7)
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));
答案 1 :(得分:3)
答案 2 :(得分:3)
如果您保证它始终采用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]);
答案 3 :(得分:2)
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
检查this
如果您没有日期对象,可以使用
进行解析var curdate = Date.parse("Jan 1, 2010");
要将日期解析为特定格式,请参阅this