vue时间字符串"2021年12月20日"转date对象 返回 Invalid date的问题

最近遇到一个问题,有一些特殊处理的时间字符串如果直接使用new Date会导致输出Invalid Date的问题,例如

new Date("2021年12月20日")   //  Invalid Date

因为这里的时间字符串并不是标准的时间格式,是一个特殊处理过的。
我们知道这种特殊的时间字符串是通过一些自定义函数或Moment.js加时间模板来生成的。那我们可不可以用时间模板反义回Date数据呢?自定义处理这类似的问题估计会很复杂,查找Moment.js的方法,发现Moment.js可以使用自定义时间模板来格式化时间字符串
先安装Moment

npm install moment --save

利用Moment.js格式化时间字符串生成Date数据

const myDate = moment("2021年12月20日", "YYYY年MM月DD日").format() // 2021-12-20
const newDate = new Date(myDate)

附上Moment.js 的官网链接https://momentjs.com/
这里Moment.js可换成Dayjs体积更小功能一样 https://github.com/iamkun/dayjs

你可能感兴趣的:(vue时间字符串"2021年12月20日"转date对象 返回 Invalid date的问题)