无需moment.js,如何实现判断日期格式并输出对应格式字符串?
实现日期格式识别函数
要实现这个需求,核心逻辑是利用月份取值范围为1-12的特性区分两种格式:
- 若日期字符串的第一个部分数值大于12,说明这是日(DD),对应格式为
DD/MM/YYYY - 若第二个部分数值大于12,说明这是日(DD),对应格式为
MM/DD/YYYY
函数实现(JavaScript)
function dateToDateFormat(dateStr) { // 拆分日期字符串为前两个部分(日/月或月/日) const [part1, part2] = dateStr.split('/'); const num1 = parseInt(part1, 10); const num2 = parseInt(part2, 10); // 根据数值范围判断格式 if (num1 > 12) { return 'DD/MM/YYYY'; } else if (num2 > 12) { return 'MM/DD/YYYY'; } // 处理边界情况(如07/07/2022这类两种格式都可能的场景),可按需修改默认返回值 return 'MM/DD/YYYY'; }
测试验证
- 调用
dateToDateFormat('16/07/2022'),返回'DD/MM/YYYY' - 调用
dateToDateFormat('07/16/2022'),返回'MM/DD/YYYY'
补充说明
如果遇到两个部分数值都≤12的模糊场景,函数会返回默认的MM/DD/YYYY,你可以根据实际业务需求调整这个默认逻辑。
内容的提问来源于stack exchange,提问作者mssp
相关产品推荐
相关产品推荐

