用new Date()拿到时间后,希望月份跟天小于10,则在前面补上0,之前我们会用到它里面自带的api去拿到年月,再去判断是否小于10,这样的做法比较麻烦,但是toLocaleString()则会让这个格式变得很简单
以前
let time1 = new Date('2019-9-6')
let y = time1.getFullYear()
let m = time1.getMonth() + 1
let d = time1.getDate()
let date = y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d)
console.log(date); // 2019-09-06
现在
利用toLocaleString()
// numeric 我理解的就是初始数值,2-digit则是显示2位,如果year:'2-digit',则等于19
// 包括时分秒也可在这个对象里面增加属性后显示,大家可以自己尝试下 hour minute second
let time2 = new Date('2019-9-6').toLocaleString('zh', { year: 'numeric', month: '2-digit',
day: '2-digit' })
// console.log(time2); // 2019/09/06
let date2 = time2.replace(/\//g, '-') // 利用正则可以将/换成-的分隔符
console.log(date2); // 2019-09-06
利用toISOString()
// 利用toISOString()
let time3 = new Date('2019-9-6').toISOString()
console.log(time3); // 2019-09-05T16:00:00.000Z
let date3 = time3.split('T')[0]
console.log(date3); // 2019-09-06