Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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将YYMMDD格式的字符串转换为日期对象_Javascript_Html - Fatal编程技术网

Javascript将YYMMDD格式的字符串转换为日期对象

Javascript将YYMMDD格式的字符串转换为日期对象,javascript,html,Javascript,Html,这可能是一个微不足道的问题,但我正在努力寻找最有效的方法来实现这一点 一个servlet给了我一个格式为“20130914”的字符串,我需要从中创建一个javascript日期对象 据我所知,date对象接受ISO格式的字符串,因此我需要在年、月和日期之间添加破折号,如“2013-09-14” 我可以使用.splice函数在年、月和日期之间插入破折号,但我觉得对于这个琐碎的问题必须有一个更简单的解决方案。还是我想得太多了?您现在做的很好,编写简单的代码来完成常见任务没有什么大问题 如果您发现自己

这可能是一个微不足道的问题,但我正在努力寻找最有效的方法来实现这一点

一个servlet给了我一个格式为“20130914”的字符串,我需要从中创建一个javascript日期对象

据我所知,date对象接受ISO格式的字符串,因此我需要在年、月和日期之间添加破折号,如“2013-09-14”


我可以使用.splice函数在年、月和日期之间插入破折号,但我觉得对于这个琐碎的问题必须有一个更简单的解决方案。还是我想得太多了?

您现在做的很好,编写简单的代码来完成常见任务没有什么大问题

如果您发现自己执行了大量的日期计算,那么有一个非常小(5kb)的库可以处理这样的日期

例如,您现在需要的可以写为:

moment("20130914", "YYYYMMDD");

因为我爱上了regex:

var rawDate = '20130914';
console.log(new Date(rawDate.replace(/(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")));
//Output: Sat Sep 14 2013 12:00:00 GMT+1200 (New Zealand Standard Time) 

使用简单的JS:

var input=“20130914”;
var date=新日期(input.substr(0,4),input.substr(4,2)-1,input.substr(6,2));

log(date.toString())与解析一个字符串以创建另一个要由内置解析器解析的字符串不同,您可以获取这些部分并将它们直接提供给日期构造函数:

s='20130914';
//将YYYYMMDD格式的字符串解析为日期对象
函数parseYMD(s){
设b=s.match(/\d\d/g);
返回新日期(b[0]+b[1],b[2]-1,b[3]);
}

log(parseYMD.toString())