Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript格式化UTC日期_Javascript_Date_Datetime - Fatal编程技术网

Javascript格式化UTC日期

Javascript格式化UTC日期,javascript,date,datetime,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

好的,我有确切的日期:

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)
我的猜测是: 月份从0开始so+1 day以小时为单位,因此格式错误。 您应该打印d以查看实际构建的内容。除此之外:

在月份中添加1


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

使用getUTCFullYear、getUTCMonth、getUTCDate、getUTCHours和getUTCMinutes。记住这个月总是0-11。