0

好的,我有这个确切的日期:

2012-10-01T13:00:00+0000

我需要将其拆分为两个变量:一个是日期:2012-10-01,另一个是小时和分钟的时间:13:00

到目前为止我所生产的2012-09-1214:00 - 完全错误的日期......

这是代码:

var d, dd, hh, mi, mm, theDate, theTime, yyyy;

var myDate = "2012-10-01T13:00:00+0000"; //Date I need converting into two variables

d = new Date(myDate);

yyyy = d.getFullYear().toString();
mm = d.getMonth().toString();
dd = d.getDate().toString();
hh = d.getHours().toString();
mi = d.getMinutes().toString();


theDate = yyyy + "-" + (mm[1] ? mm : "0" + mm[0]) + "-" + (dd[1] ? dd : "0" + dd[0]);
theTime = (hh[1] ? hh : "0" + hh[0]) + ":" + (mi[1] ? mi : "0" + mi[0]);

//theDate produces: 2012-09-12, (should be 2012-10-01)
//theTime produces: 14:00, (should be 13:00)
4

2 回答 2

1

我的猜测是:月份从 0 开始,所以 +1 天需要一个小时,所以你的格式是错误的。您应该打印 d 以查看您实际构建的内容。除了尝试: 格式化日期

于 2012-09-12T12:19:20.420 回答
0

月份加 1。

时间将根据您当地的时区进行调整。您将获得 14:00,因为您在 GMT +1。将时间更改为 13:00:00+0100 以获得正确的时间。

于 2012-09-12T12:26:10.247 回答