【问题标题】:Jquery => toUTCString() returns 1 day back dateJquery => toUTCString() 返回 1 天前的日期
【发布时间】:2015-08-21 09:39:01
【问题描述】:

我需要得到如下格式

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

我有以下代码

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

它返回我

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

它应该返回的位置

格林威治标准时间 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 中为我提供了日期,chrome 很好

已将日期字符串更改为

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

谢谢

【问题讨论】:

  • 您的输出看起来正确!
  • @Jake745 ,我已经上传到服务器即美国服务器上,仍然显示相同,你最后的小提琴结果是什么?

标签: javascript jquery datetime utc


【解决方案1】:

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),所以要得到八月 你需要将你的 monty 增加 1

【讨论】:

  • 我在数据库中有 --2015-08-19 04:22:36-- 日期已经是 UTC 日期,现在我只需要显示 --19 Aug 2015 4:22:格林威治标准时间 36 日--
  • @Md.ParvezAlam 您是否尝试在日期字符串中添加“UTC”?如果你不说日期是 utc javascript 会假设它是你的当地时间
  • jsfiddle.net/0a3m59v1/1 -> var dt = '2015-08-19 04:22:36 UTC';它在 Firefox 中返回日期,在 IE 中返回错误日期
【解决方案2】:

从您的个人资料中,我可以看到您比 UTC 时间早 5 小时 30 分钟,因此 var dt = '2015-08-19 04:22:36'; 返回一个 Date 对象,该对象比 UTC 时间(即您的当地时间)早 5 小时 30 分钟。当您将此日期转换为 UTC 时,它会减去 5.5 小时并返回前一天晚上 22:56 的 Date 对象。 04:22:36 的时间部分实际上是凌晨 4 点 22 分或凌晨 4 点 22 分。

【讨论】:

  • 但是我已经上传到服务器即美国服务器上,仍然显示相同,你最后的小提琴结果是什么?
  • 我来自同一个城市:-)
  • Date 对象是在浏览器内部创建的,所以它总是采用本地时间。尝试使用 Adam 的答案,或将“GMT+0”附加到您的 dt 变量中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
  • 2013-02-27
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多