0

在转换回长整数后的以下日期转换中日期表示 10 月而不是 9 月

 var date = 2013-09-23 18:31
 startdate = getTimeStamp(date); //1382533260000

现在

 t=1382533260000   
 rt = new Date(t)
 //Wed Oct 23 2013 18:31:00 GMT+0530 (India Standard Time)


 function getTimeStamp(strDate) { 
            var a1=strDate.split(" ");
            var d1=a1[0].split("-");
            var t1=a1[1].split(":");
            var dtObj = new Date(d1[0],d1[1],d1[2],t1[0],t1[1]);
            return dtObj.getTime();
 }
4

3 回答 3

2

在 JavaScript 中,月份编号为 0-11。

如果您将这样的组件解析到Date构造函数中,则必须从数字中减去 1:

 function getTimeStamp(strDate) { 
            var a1=strDate.split(" ");
            var d1=a1[0].split("-");
            var t1=a1[1].split(":");
            var dtObj = new Date(d1[0],d1[1] - 1,d1[2],t1[0],t1[1]);
            return dtObj.getTime();
 }
于 2013-10-08T09:37:18.317 回答
0

月份是从零开始的,所以一月是零,二月是一,等等。

所以你需要d1[1]-1在你的new Date()构造函数中使用。

于 2013-10-08T09:35:33.833 回答
0

Javascript 月份参数从 0 到 11 开始,所以传递 8 表示 9 月

于 2013-10-08T09:36:58.407 回答