【发布时间】:2011-06-08 11:29:11
【问题描述】:
格式为: 嗯嗯
我想分别取月、日、小时、分钟,该怎么做?
【问题讨论】:
标签: javascript jquery
格式为: 嗯嗯
我想分别取月、日、小时、分钟,该怎么做?
【问题讨论】:
标签: javascript jquery
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]);
【讨论】:
【讨论】:
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
【讨论】: