react-native - 反应本机:没有调试模式的时刻不适用于特定时间值
问题描述
我有下面的代码,我将时间值格式化为日期格式。
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();
解决方案
花了我一段时间,但我终于弄明白了。
这没有用:
const arrivalDateTime = moment(
`${todaysDate.format("YYYY-MM-DD")} ${arrivalTime}:00:00`,
).toDate();
这有效:
const arrivalDateTime = moment(
`${todaysDate.format('YYYY/MM/DD')} ${arrivalTime}:00`,
).toDate();
// 请注意,引擎似乎不喜欢使用 ' - ' 进行解析。所以我把它改成'/'
仍然不确定其背后的原因。
推荐阅读
- c - 来自完全相同的二进制文件的不同输出
- android-studio - 用 Android Studio Flutter 项目的上下文菜单中未显示的列换行
- css - Webfont 渲染问题
- javascript - Jquery 只在页面刷新后加载?
- javascript - 如何从 JSON 文件向 D3 js 旭日形图添加颜色?
- django - Django Haystack SearchQuerySet 使用 solr 不返回任何内容
- python - python AttributeError 'dict' 对象没有属性
- java - 如何配置 Spring WebClient 以使用 Gson 而不是 Jackson?
- node.js - Discord.js 获取高分辨率头像
- pmd - 方法中长度超过某些参数的 Apex PMD 规则