Jquery => toUTCString() returns 1 天后日期

Jquery => toUTCString() returns 1 day back date

我需要得到如下格式

2015 年 8 月 19 日04:22:36格林威治标准时间

我有以下代码

var dt = '2015-08-19 04:22:36';
alert(new Date(dt).toUTCString().substr(4))

它return是我

2015 年 8 月 18 日22:52:36格林威治标准时间

它应该在哪里 return

2015 年 8 月 19 日22:52:36格林威治标准时间

我的代码有什么问题

JsFiddle

根据下面的回答,它似乎正在将日期转换为 UTC 日期时间。

我在数据库中有 UTC 格式的日期。所以如果有人可以在不使用 toUTCString()

的情况下建议所需的格式,请

更新

尝试关注

var dt = '2015-08-19 04:22:36  UTC';

alert(new Date(dt).toUTCString().substr(4))

它在 FireFox 和 IE 中给了我 liddate,chrome 没问题

已解决将日期字符串更改为

var dt = '2015/08/19 04:22:36  UTC';

谢谢

从您的配置文件中,我可以看到您比 UTC 时间早 5 小时 30 分钟,因此 var dt = '2015-08-19 04:22:36'; returns 一个日期对象比 UTC 时间早 5 小时 30 分钟,即你的当地时间。当您将此日期转换为 UTC 时,它会减去 5.5 小时和 returns 前一晚 22:56 的 Date 对象。时间部分04:22:36实际上是4:22a.m。或 4:22 a.m。早上。

toUTCString() 将您的日期转换为 UTC,因此结果是正确的! 将您的字符串更改为此 var dt = '2015-08-19 04:22:36 UTC';(注意 UTC

或使用Date.UTC()函数:

alert(new Date(Date.UTC(2015, 09, 19, 04, 22, 36)).toUTCString().substr(4))

注意月份是从 0 开始的 (0 -11) 所以要得到八月 您需要将您的月数增加 1