Javascript格式化UTC日期

时间:2012-09-12 12:11:02

标签: javascript date datetime

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

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

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

到目前为止我所做的是 2012-09-12 & 14: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)

2 个答案:

答案 0 :(得分:1)

我的猜测是: 月份从0开始,所以+1 一天需要一小时,所以你的格式是错误的。 Yous应打印d以查看您实际构建的内容。除此之外尝试: formatting the date

答案 1 :(得分:0)

每月加1。

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