繁体   English   中英

在 Javascript 中,将字符串化日期转换为 'YYYY.MM.DD' 格式的最佳实践是什么?

[英]in Javascript, what is the best practice to convert stringified date to 'YYYY.MM.DD' format?

例如,我得到字符串'20201101'

我所做的是将字符串转换为'2020.11.01'

这就是我所做的。

const dateString = '20201101'

const dateArr = dateString.split('')

dateArr.splice(4, 0, '.')
dateArr.splice(7, 0, '.')

const dateFormat = dateArr.join('')

我认为它有点长,所以我正在寻找另一个答案。

谢谢!

您还可以在String#replace()调用中使用带有替换模式RegExp

 const dateStr = '20201101'; const result = dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1.$2.$3'); console.log(result)

您可以使用模板文字

`${dateString.slice(0, 4)}.${dateString.slice(4, 6)}.${dateString.slice(6, 8)}`

这不是一种非常干净的方法,但它只有一条线。

您的代码很好,并且可读。 但是,如果您正在寻找替代方案,可以查看正则表达式

 const str = '20201101'; // Group four digits, then two digits, // and then two digits const re = /(\d{4})(\d{2})(\d{2})/; // `match` returns an array of groups, the first element of // which will be the initial string, so first remove that, // and then `join` up the remaining elements using // a `.` delimiter const out = str.match(re).slice(1).join('.'); console.log(out);

附加文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM