【问题标题】:Chrome Date/Time parsing breaks in Mac & Mobile devices, Works fine in windows chromeMac 和移动设备中的 Chrome 日期/时间解析中断,在 windows chrome 中工作正常
【发布时间】:2018-12-14 14:41:20
【问题描述】:

我在 Mac 和移动设备中解析日期/时间时遇到问题。

new Date("2018-12-16T00:00:00")
new Intl.DateTimeFormat("de").format(new Date())
new Intl.DateTimeFormat("de").format(new Date("2018-12-16T00:00:00"))

以下代码在 windows chrome 浏览器中运行良好,但在 Mac chrome 浏览器中无法运行。

在我用 safari 测试过的 Mac 上,它运行良好。

获取错误为“RangeError : Invalid time value”

我知道它不是 ISO 标准格式,为了避免语言环境问题,我们已经使这种自定义格式适用于所有语言环境。

现在它在 Windows chrome 中工作,在“Mac Chrome”中失败

【问题讨论】:

  • 我目前在 MacOS 10.14.1 (Mojave) 上使用 Chrome 71,无法复制上述错误。上面的代码在终端中运行良好。具体是什么不起作用?
  • 目前我们在“macOS 10.13: High Sierra (Lobo)”中遇到问题。这是 Javascript 问题还是浏览器问题。!
  • 听起来像是 MacOS 的问题。

标签: javascript reactjs datetime javascript-objects datetime-format


【解决方案1】:

问题已解决

export const localeDay = (date, languageCode) => {
  try {
    if (new Date(date) instanceof Date && !isNaN(new Date(date))) {
      return new Intl.DateTimeFormat(languageCode).format(new Date(date));
    }
    return null;
  } catch (error) {
    logger(error.toString());
  }
};

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 2021-10-18
    • 2016-05-18
    • 2017-07-07
    • 2014-04-21
    • 1970-01-01
    • 2020-01-29
    • 2020-10-05
    • 2018-04-28
    相关资源
    最近更新 更多