一、'2024年7月29日星期一 17:23'
moment(new Date()).locale('zh-cn').format('llll')
// '2024年7月29日星期一 17:23'
二、 2024-07-30
const now = new Date()
const year = now.getFullYear()
const month = (now.getMonth() + 1).toString().padStart(2, '0')
const day = now.getDate().toString().padStart(2, '0')
// return `${year}-${month}-${day}`;
console.log(`${year}-${month}-${day}`)
// 2024-07-30
getFullYear() 获取当年
getMonth()+1 获取当月
getDate() 获取当日
toString() 转换为字符串
padStart(2, '0') 字符串长度不够两位,在前面加个0
padStart()方法,padEnd()方法
padStart()方法,padEnd()方法-CSDN博客
'5'.padStart(2, '0') // '05'
'5'.padEnd(2, '0') // '50'
上面代码中,padStart()
和padStart()
一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
三、 获取本周第一天
设计周是否跨月,需留意
const now = new Date()
const dayOfWeek = now.getDay() // 今天是当周第几天
const diff = now.getDate() // 今天是当月第几天
let data = '' // 需要的时间
const lastDays = new Date(now.getFullYear(), now.getMonth(),0).getDate() // 上个月一共多少天
if (diff>=dayOfWeek){ // 周不跨月直接用当前日期减去周几再加上周一当天
data = `${now.getFullYear()}-${(now.getMonth()+1).toString().padStart(2,'0')}-${(now.getDate()-dayOfWeek + 1).toString().padStart(2,'0')}`
} else { // 周跨月获取上月时间减去因公垮了几天
data = `${now.getFullYear()}-${(now.getMonth()).toString().padStart(2,'0')}-${(lastDays -dayOfWeek + diff + 1).toString()}`
}