【问题标题】:Javascript New Date returning me Invalid Date when I passed the date as "21-04-2017 20:34:30 UTC +05:30" [duplicate]当我将日期传递为“21-04-2017 20:34:30 UTC +05:30”时,Javascript 新日期返回无效日期 [重复]
【发布时间】:2017-04-21 16:20:26
【问题描述】:

我正在使用 Angular JS,我的服务器返回如下日期。 当我尝试将其转换为日期格式时,它显示“日期无效”。 请问有什么建议吗? 以下是服务器日期示例。

function runSettlement() {
    return Restangular.one('/api/GetdateofLastrun').get().then(function 
(data) {
 var serverDate = new Date(data);
Console.log(data); //Invalid Date
}

这里的 API 调用从服务器返回以下数据。 21-04-2017 20:34:30 UTC +05:30

【问题讨论】:

  • 理想情况下,服务器上的 API 应该以标准 ISO8601 格式发出时间戳,即"2017-04-21T20:34:30+05:30"
  • 错误“Invalid date”表示日期无效。查找Date 函数以查看哪些日期是有效的。 Date 无法读懂您的想法并转换世界上任何任意日期格式。它以特定的预定义格式转换日期。

标签: javascript date


【解决方案1】:

JavaScript Date Objects 不支持该格式。

我会推荐https://momentjs.com/

“在 JavaScript 中解析、验证、操作和显示日期和时间。”

Moment.js 的 Angular 指令可以在以下位置找到:https://github.com/urish/angular-moment

【讨论】:

  • 我不明白为什么这个答案被否决了。特别是考虑到它提供了 cmets 没有的文档。
  • 不是我的反对票,但可能只是建议使用 OP 中未标记或提及的库。没有 cmets 的投票是没用的。
猜你喜欢
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
  • 2018-07-17
  • 1970-01-01
  • 2016-06-17
  • 2016-02-25
相关资源
最近更新 更多