Javascript将YYMMDD格式的字符串转换为日期对象
这可能是一个微不足道的问题,但我正在努力寻找最有效的方法来实现这一点 一个servlet给了我一个格式为“20130914”的字符串,我需要从中创建一个javascript日期对象 据我所知,date对象接受ISO格式的字符串,因此我需要在年、月和日期之间添加破折号,如“2013-09-14”Javascript将YYMMDD格式的字符串转换为日期对象,javascript,html,Javascript,Html,这可能是一个微不足道的问题,但我正在努力寻找最有效的方法来实现这一点 一个servlet给了我一个格式为“20130914”的字符串,我需要从中创建一个javascript日期对象 据我所知,date对象接受ISO格式的字符串,因此我需要在年、月和日期之间添加破折号,如“2013-09-14” 我可以使用.splice函数在年、月和日期之间插入破折号,但我觉得对于这个琐碎的问题必须有一个更简单的解决方案。还是我想得太多了?您现在做的很好,编写简单的代码来完成常见任务没有什么大问题 如果您发现自己
我可以使用.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())我认为,正如您所提到的,您必须自己解析字符串。喜欢var year=mydatestr.substring(0,4)是的,我将处理大量的日期计算。谢谢你推荐一个很棒的图书馆。