【问题标题】:IST time format returns NAN in JSIST时间格式在JS中返回NAN
【发布时间】:2021-09-17 20:12:54
【问题描述】:

console.log(Date.parse('Wed Jul 07 04:49:10 IST 2021')); // returns NAN
console.log(Date.parse('Wed Jul 07 04:49:10 EDT 2021')); // working as expected 

如何将 IST dateString (Wed Jul 07 04:49:10 IST 2021) 转换为数字。

【问题讨论】:

  • 尽可能使用ISO 8601 format,以确保正确转换。如果您只获得这种格式,则需要将其解析为 ISO 8601 或使用库为您完成。
  • 我对这两种作品都感到惊讶。您能否将源格式修改为 ISO8601,因为它更标准且支持更好。例如:2021-07-07T04:49:10+0530
  • Date.parse 需要 一个字符串,表示 ISO 8601 日历日期扩展格式的简化。 (可以使用其他格式,但结果取决于实现。)
  • @SalmanA — Date.parse 还必须支持由 Date.prototype.toString 生成的格式(在 ECMA-262 中指定)和 Date.prototype.toUTCString(在 RFC 7231 中指定并在 ECMA-262 中进行了概括)。 ;-)

标签: javascript html jquery angular date


【解决方案1】:

正如 cmets 中所述,规范没有规定 Date.parse() 来处理时区缩写。开箱即用的主要Date.parse() 实现仅支持其中的少数,EDT 就是其中之一。识别 IST 的最大问题是这个缩写实际上可能意味着三个不同的东西:

...因此以确定的方式解析源字符串非常困难。因此,最好的办法是将 IST 替换为数字时区标识符(例如,+05:30 表示印度标准时间)。

【讨论】:

猜你喜欢
  • 2021-08-06
  • 2015-04-23
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2018-05-11
  • 1970-01-01
相关资源
最近更新 更多