首页 > 解决方案 > 反应本机:没有调试模式的时刻不适用于特定时间值

问题描述

我有下面的代码,我将时间值格式化为日期格式。

 const arrivalDateTime = moment(
   `${todaysDate.format("YYYY-MM-DD")} ${arrivalTime}:00:00`,
 ).toDate();

当调试模式关闭时,如果我从控件中选择 8 或 9 值,则无法格式化该值。

当我处于调试模式并选择 8 或 9 时,它能够将值格式化为:

Fri May 22 2020 09:00:00 GMT-0600 (Mountain Daylight Time)

我看到许多线程讨论相同的问题,但其中提供的解决方案并没有帮助我正确格式化。

我正在尝试打印到达日期时间值,它在日志中显示如下;

Date { NaN }

我正在尝试这个,但它不起作用,它几天 toDate 不是一个函数:

moment().format(`YYYY-MM-DD ${arrivalTime}:00:00`).toDate();

标签: react-nativemomentjs

解决方案


花了我一段时间,但我终于弄明白了。

这对我有帮助

这没有用:

 const arrivalDateTime = moment(
   `${todaysDate.format("YYYY-MM-DD")} ${arrivalTime}:00:00`,
 ).toDate();

这有效:

const arrivalDateTime = moment(
  `${todaysDate.format('YYYY/MM/DD')} ${arrivalTime}:00`,
).toDate();

// 请注意,引擎似乎不喜欢使用 ' - ' 进行解析。所以我把它改成'/'

仍然不确定其背后的原因。


推荐阅读