javascript - 使用语言环境解析时日期无效
问题描述
我需要用momentjs解析“it”语言环境中的日期,我正在这样做
import moment from 'moment';
import 'moment/locale/it';
moment.locale("it");
let d = "20/12/2018"; // 20 dec 2018
let mm = moment(d);
console.log(mm.format("DD MM YYYY"));
我得到的是“无效日期”,我不明白为什么。你能帮助我吗?
使用“en”语言环境(日期写为 2018 年 12 月 20 日)一切正常
解决方案
下面的代码片段将完成你想要的。它需要给定本地的时刻日期格式,并在创建时刻时将其传递给构造函数。
话虽如此,上面的评论提出了很多好的观点,这不是处理日期的可靠方法。
例如,如果意大利的某个人以 enMM/DD/YYYY
格式输入日期字符串,则会中断
let localeFormat = moment.localeData('it').longDateFormat('L');
console.log(localeFormat) // DD/MM/YYYY
let d = "20/12/2018"; // 20 dec 2018
let mm = moment(d, localeFormat);
console.log(mm.format("DD MM YYYY"));
推荐阅读
- node.js - 使用 nodejs (electron) 成为 SIP UA
- javascript - 如何让组件“等待”状态在反应中更新?
- amazon-web-services - 使用java获取集群下的文档数据库实例
- wso2 - 在 Kubernetes 设置中的 WSO2 API Manager 3.2.0 中找不到请求目标错误的有效证书路径
- r - 使用 MLeval 包的颜色线和颜色图例的错误组合
- rust - 为什么我在这段代码中遇到终身冲突?
- python - 如何在python中从包含多个游戏的pgn文件中隔离单个游戏?
- python - 如何在 FastAPI 中获取定义的路由路径?
- javascript - 当 argon2 添加到您的解决方案时,是什么导致 rollupjs 中“无法读取未定义的‘类型’的属性”
- r - 如何在嵌套循环中对 data.table 中的空单元格进行分配?