JS日期格式转换:是否存在更简便的实现方式?
JavaScript日期格式转换优化方案
你当前的实现重复创建了3次Date对象,这完全是冗余操作——只需要创建一次Date实例,就能从中提取所有需要的日期信息。
优化方案1:复用单个Date对象
const dateStr = "2021-08-19"; const date = new Date(dateStr); const day = date.getDate(); const month = date.toLocaleString("en-US", { month: "short" }); const year = date.getFullYear(); console.log(`${day} ${month} ${year}`); // 输出 "19 Aug 2021"
优化方案2:一步到位的格式化
直接利用toLocaleDateString的参数配置,一次性生成目标格式,代码更简洁:
const dateStr = "2021-08-19"; const formattedDate = new Date(dateStr).toLocaleDateString("en-US", { day: "numeric", month: "short", year: "numeric" }); console.log(formattedDate); // 输出 "19 Aug 2021"
如果需要处理大量日期转换,复用Date实例能避免不必要的对象创建开销;如果只是单次转换,第二种方法的代码量更少,可读性也更强。
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

