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-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)
我的猜测是:
月份从0开始so+1
day以小时为单位,因此格式错误。
您应该打印d以查看实际构建的内容。除此之外:
在月份中添加1
时间将根据您当地的时区进行调整。你得到14:00,因为你在GMT+1。将时间更改为13:00:00+0100以获得正确的时间。使用getUTCFullYear、getUTCMonth、getUTCDate、getUTCHours和getUTCMinutes。记住这个月总是0-11。