字符串YYYYMMDDHHMMSS的日期

时间:2012-01-11 15:10:34

标签: javascript

我有一个格式为YYMMDDHHMMSS的字符串。如何从这个模式创建一个js日期对象?这有什么内置的方法吗?或者我必须创建将字符串拆分为字符串数组(每个长度为2个字符)然后在新的数据对象中使用?

3 个答案:

答案 0 :(得分:0)

最简单的解析每个日期部分并以正确的顺序将它们传递给Date构造函数;

var s = "120109123456";
var d = new Date(2000 + +s.substr(0, 2),
    s.substr(2, 2) - 1,
    s.substr(4, 2),
    s.substr(6, 2),
    s.substr(8, 2),
    s.substr(10, 2));

(假设本世纪)

答案 1 :(得分:0)

您可以使用正则表达式来拆分字符串,然后设置日期属性,如下所示:

var s_date = "720417121253"; //YYMMDDHHMMSS
var parts = s_date.match(/\d{2}/g);
var date =  new Date();
date.setYear(parts[0]);
date.setMonth(parts[1]);

请注意,您使用年份的2位数字,这有点问题

答案 2 :(得分:0)

var d = new Date;
var methods = ['Year','Month','Date','Hours','Minutes','Seconds'];
var time = "120111120001";
for(var i=0,j=0;i<methods.length;i++,j+=2) {
  var method = 'set'+methods[i];
  var split = time.substr(j,2);
  d[method](split);
}