在 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('')
我觉得它有点长,所以我正在寻找另一个答案。
谢谢!
您可以使用 template literals.
`${dateString.slice(0, 4)}.${dateString.slice(4, 6)}.${dateString.slice(6, 8)}`
这不是一种非常干净的方法,但它只有一行。
您也可以使用 RegExp with replacement patterns in a String#replace()
调用。
const dateStr = '20201101';
const result = dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '..');
console.log(result)
您的代码很好,可读性强。但是,如果您正在寻找替代方案,请查看 regular expressions.
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);
其他文档
比如我得到字符串'20201101'
我所做的是将字符串转换为 '2020.11.01'
这是我所做的。
const dateString = '20201101'
const dateArr = dateString.split('')
dateArr.splice(4, 0, '.')
dateArr.splice(7, 0, '.')
const dateFormat = dateArr.join('')
我觉得它有点长,所以我正在寻找另一个答案。
谢谢!
您可以使用 template literals.
`${dateString.slice(0, 4)}.${dateString.slice(4, 6)}.${dateString.slice(6, 8)}`
这不是一种非常干净的方法,但它只有一行。
您也可以使用 RegExp with replacement patterns in a String#replace()
调用。
const dateStr = '20201101';
const result = dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '..');
console.log(result)
您的代码很好,可读性强。但是,如果您正在寻找替代方案,请查看 regular expressions.
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);
其他文档