gpt4 book ai didi

javascript - new date() 从服务器 GMT 发送到本地计算机的 AngularJS 时间

转载 作者:行者123 更新时间:2023-12-02 14:40:29 25 4
gpt4 key购买 nike

我收到来自服务的响应,当服务返回时,它会返回创建的服务器 GMT 日期。当我想显示本地日期例如:5-22-2016 我想更改本地计算机的时间时,就会出现问题。

我的回复看起来像这样:

createdDate: "2016-04-22 16:48 PM GMT"
description: "File Upload Success"
fileGuid:"62e7250c-d5ed-41e2-b5b2-4600094d9a7c"
fileSize:"191429"

我的数组中有 90 个不同的对象。我正在尝试使用 _each 来迭代我的所有键值对:

  _.each(data, function(value, key) {
console.log(key, value);
var strDateTime = value.createdDate;
var myDate = new Date(strDateTime);
data[key].createdDate = (myDate.toLocaleString()).split(',')[0];
console.log("data", data)

但它适用于某些创建日期,而其他日期则返回无效的任何建议

最佳答案

根据ECMA-262 5.1 15.9.1.15 Date Time String Format,您的某些数据似乎格式不正确。

ECMAScript defines a string interchange format for date-times based upon a simplification of the ISO 8601 Extended Format. The format is as follows: YYYY-MM-DDTHH:mm:ss.sssZ.

所以更好的解决方案是使用 moment.js .

使用 moment.js,您可以将代码更新为,

moment('2016-5-5').toLocaleString() //'Tue May 05 2015 00:00:00 GMT+0800'

此外,仅出于显示目的,有一个 Angular Directive(指令)版本 angular-moment.

希望这会有所帮助。 :)

<小时/>

感谢 @RobG 的通知,我刚刚用 ECMA-262 替换了 MDN。

对于moment("2016-04-22 16:48 PM GMT"),您可以从下图中看到,

enter image description here

关于javascript - new date() 从服务器 GMT 发送到本地计算机的 AngularJS 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37041642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com