如何将YYYYDDD格式日期转换为DD-MM-YYYY格式?
处理YYYYDDD格式日期转换的方案
不管是moment.js还是其他主流日期处理库,都能轻松实现YYYYDDD格式到DD-MM-YYYY这类通用格式的转换,具体方案如下:
使用moment.js
moment.js原生支持按指定格式解析日期,你只需要传入YYYYDDD格式的字符串和对应的格式模板,再调用format方法输出目标格式即可:
const moment = require('moment'); // 示例:2024年第95天 const yyyydddDate = '2024095'; // 解析并转换为DD-MM-YYYY格式 const formattedDate = moment(yyyydddDate, 'YYYYDDD').format('DD-MM-YYYY'); console.log(formattedDate); // 输出 05-04-2024
使用date-fns(轻量替代库)
date-fns同样支持这种格式的解析,通过parse方法指定格式规则,再用format输出目标格式:
const { parse, format } = require('date-fns'); const yyyydddDate = '2024095'; // 解析YYYYDDD格式日期 const parsedDate = parse(yyyydddDate, 'yyyyDDD', new Date()); // 转换为DD-MM-YYYY格式 const formattedDate = format(parsedDate, 'dd-MM-yyyy'); console.log(formattedDate); // 输出 05-04-2024
注意事项
- 确保输入的DDD部分是三位数(不足三位时前面补0,比如第5天要写成
005),否则库可能无法正确识别年份和天数的边界。
内容的提问来源于stack exchange,提问作者Zander
相关产品推荐
相关产品推荐

