JavaScript 如何格式化JavaScript日期

JavaScript 如何格式化JavaScript日期,第1张

JavaScript 如何格式化JavaScript日期

对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAscript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。

为此,你可以使用DateTimeFormat#formatToParts:

const d = new Date('2010-08-05')const dtf = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'short', day: '2-digit' })const [{ value: mo },,{ value: da },,{ value: ye }] = dtf.formatToParts(d)console.log(`${da}-${mo}-${ye}`)console.log(`${da}${mo}${ye}`) // just for fun

你还可以

DateTimeFormat
使用来一对一地提取各个部分
DateTimeFormat#format
,但请注意,使用此方法时,截至2020年3月,ECMAscript实现中存在一个错误,涉及分钟和秒前导零(此错误被上述方法规避了)。

const d = new Date('2010-08-05')const ye = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(d)const mo = new Intl.DateTimeFormat('en', { month: 'short' }).format(d)const da = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(d)console.log(`${da}-${mo}-${ye}`)

在处理日期和时间时,通常值得使用一个库(例如moment.js,luxon),因为该字段存在许多隐藏的复杂性。

请注意,IE10不支持在上述解决方案中使用的ECMAscript国际化API (2020年2月全球浏览器市场份额为0.03%)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4986063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存