[英]Date format using moments.js
this.state.date = "20190704153907"
moment(this.state.date).format("DD MMMM YYYY hh:mm:ss")
我收到无效日期
我尝试了不同的格式 stll 显示相同
预期输出:
4 July 2019 15:39:07
您的日期确实无效。 检查解析文档
您可以尝试通过正则表达式修改它以匹配已知的日期模式或等效项。
如果您查看控制台,您会看到来自 Moment 的警告:
弃用警告:提供的值不是公认的 RFC2822 或 ISO 格式。 moment 构造回退到 js Date(),这在所有浏览器和版本中都不可靠。 不鼓励使用非 RFC2822/ISO 日期格式,并将在即将发布的主要版本中删除。 请参阅http://momentjs.com/guides/#/warnings/js-date/了解更多信息。
您用于日期字符串的格式不是 ISO 格式,并且可能不受任何“特定于实现的启发式或特定于实现的日期格式”的支持¹ 允许 JavaScript 引擎用来猜测什么你的意思是。
解决方案是告诉 Moment 格式:
const date = "20190704153907"; const m = moment(date, "YYYYMMDDHHmmss"); console.log(m.format("DD MMMM YYYY hh:mm:ss"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
请注意,输出04
,而不是4
在你预期的输出。 如果您想要4
而不是04
,请删除format
字符串中的D
之一(例如, .format(..., "D MMMM YYYY hh:mm:ss")
):
const date = "20190704153907"; const m = moment(date, "YYYYMMDDHHmmss"); console.log(m.format("D MMMM YYYY hh:mm:ss"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.