如何解决dayjs() 告诉我这个日期字符串的无效日期 Firefox 上的问题最佳方法
如果有必要,请在浏览器上使用它(firefox + Vue + typescript)。
这是我的日期字符串
2021-02-05 中午 12:00
它对我代码中的 AM/PM 大惊小怪:
const dateObj: any = dayjs('2021-02-05 12:00 AM').format('YYYY-MM-DD hh:mm A');
dateObj
的输出总是“无效日期”。如果我从字符串中删除“AM”,它会正确解析。如果我为相同的代码尝试 this 在线测试器,输出是
NaN-NaN-NaN NaN:NaN PM
就像我的开发环境一样,如果我删除 AM,那就没问题了。
有什么想法吗?
编辑:使用 Chrome 而不是 Firefox...
解决方法
Firefox 上的问题
如果您深入查看实现,您会看到上面的 day 字符串通过 Day
构造函数:new Day('2021-02-05 12:00 AM')
。不幸的是,FF 不支持此日期字符串格式,但 Chrome 支持。
最佳方法
如下文所述:
为了在解析 ISO 8601 字符串以外的任何内容时获得一致的结果,您应该使用字符串 + 格式。
如果您仍然热衷于使用上述格式,则必须使用上面提到的插件here
基本上,您必须进行如下更改才能在所有浏览器中工作:
import customParseFormat from 'dayjs/plugin/customParseFormat'
import dayjs from "dayjs"
dayjs.extend(customParseFormat)
const yourDate = dayjs('2021-02-05 12:00 AM','YYYY-MM-DD HH:mm A')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。