Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自字符串YYMMDDHHMMSS的日期_Javascript - Fatal编程技术网

Javascript 来自字符串YYMMDDHHMMSS的日期

Javascript 来自字符串YYMMDDHHMMSS的日期,javascript,Javascript,我有一个格式为YYMMDDHHMMSS的字符串。如何从该模式创建js日期对象?有什么内置的方法吗?或者我必须创建一个字符串数组,每个字符串的长度为2个字符,然后用于新的数据对象?最简单的方法是解析出每个日期部分,并将它们以正确的顺序传递给日期构造函数 var s = "120109123456"; var d = new Date(2000 + +s.substr(0, 2), s.substr(2, 2) - 1, s.substr(4, 2), s.substr(6,

我有一个格式为YYMMDDHHMMSS的字符串。如何从该模式创建js日期对象?有什么内置的方法吗?或者我必须创建一个字符串数组,每个字符串的长度为2个字符,然后用于新的数据对象?

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

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));

假设本世纪

您可以使用regexp拆分字符串,然后设置日期属性,如下所示:

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位数字表示年份,这有点问题

可能会重复
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);
}