2018-05-08 JS中关于时间格式处理的某些坑

在JS中,我们经常遇到一个问题——时间格式的处理与转化,一般而言,我们使用的方法大致都是new Date(xxxx);这样便可以将之前是字符串形式的时间转化为Date对象,然后通过getFullYear()等函数挨个获取年月日的值,并进行字符串拼接,得到我们想要的格式。然而!!!new Date('yyyy-MM-dd HH:mm:ss') 不是所有的浏览器都支持。
这不是说这种方法不能用,而是要做好兼容,实际上,new Date()支持的浏览器兼容格式大致有以下几种:

1 new Date(2011, 01, 07); // yyyy, mm-1, dd  
2 new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
3 new Date("02/07/2011"); // "mm/dd/yyyy"  
4 new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
5 new Date(1297076700000); // milliseconds  
6 new Date("Mon Feb 07 2011 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC

而我们在JS中处理的时间一般都是String对象——“yyyy-MM-ddTHH:mm:ss”,所以也可以使用字符串截取的方式:time.replace("T",":").replace(/:/g,"-").split("-");详情如下:

var time=”2018-05-08T14:23:47”;
var timearr= time.replace("T",":").replace(/\:/g,"-").split("-");
var newtime= timearr[0]+”-”+ timearr[1]+”-”+ timearr[2]+” ”+ timearr[3]+”:”+ timearr[4]+”:”+ timearr[5];//newtime的值为“2018-05-08 14:23:47”

本文作者:杨昊

<上一篇 目录 下一篇>

你可能感兴趣的:(2018-05-08 JS中关于时间格式处理的某些坑)