如何使用moment校验日期有效性并将JSON日期转换为MM/DD/YY格式
使用moment校验并格式化日期的实现方案
直接通过moment内置的有效性判断方法+格式化方法即可完成需求,完整代码如下:
const moment = require('moment'); // 你的原始日期字符串 const date = '2022-05-24T14:52:30.250Z'; // 解析日期 const parsedDate = moment(date); // 校验日期有效性 if (parsedDate.isValid()) { // 按MM/DD/YY格式输出 const formatResult = parsedDate.format('MM/DD/YY'); console.log(formatResult); // 运行输出结果为 05/24/22 } else { // 无效日期的处理逻辑 console.log('输入的日期字符串不合法'); }
常见踩坑提示
- 格式占位符注意区分大小写:
MM代表两位数字月份、DD代表两位数字日期、YY代表两位数字年份,不要误写为小写mm(小写mm是分钟的占位符) - 如果你的业务场景需要严格按照UTC时间计算日期,避免本地时区偏移导致日期偏差(比如东八区用户解析这个UTC时间会自动加8小时,跨零点时会出现日期多算一天的问题),可以改用UTC模式解析:
const parsedDate = moment.utc(date); - 如果后续需要解析非ISO标准的自定义日期字符串,建议在
moment()的第二个参数传入对应格式串,比如上述日期也可以显式指定解析规则:moment(date, 'YYYY-MM-DDTHH:mm:ss.SSSZ'),解析效率和准确率更高。
内容的提问来源于stack exchange,提问作者andrew kim
相关产品推荐
相关产品推荐

