Js中Date对象
基础
1 2 3 4 5 6 7
| new Date(); new Date(value); new Date(dateString); new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]); console.log(typeof(Date())); console.log(typeof(new Date()));
|
Date.now()
返回自1970
年1
月1
日00:00:00 (UTC)
到当前时间的毫秒数。
dateObj.getFullYear()
根据本地时间返回指定日期的年份。
dateObj.getMonth()
根据本地时间,返回一个指定的日期对象的月份,为基于0
的值,0
表示一年中的第一月。
dateObj.getDate()
根据本地时间,返回一个指定的日期对象为一个月中的哪一日,范围为从1-31
。
dateObj.getDay()
根据本地时间,返回一个具体日期中一周的第几天,0
表示星期天。
dateObj.getHours()
根据本地时间,返回一个指定的日期对象的小时。
dateObj.getMinutes()
根据本地时间,返回一个指定的日期对象的分钟数。
dateObj.getSeconds()
根据本地时间,返回一个指定的日期对象的秒数。
dateObj.toLocaleString([locales [, options]])
返回该日期对象的字符串,该字符串格式因不同语言而不同。
新增的参数locales
和options
使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现behavior
。
在旧版本浏览器中,locales
和options
参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的。
每隔1s显示当前时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| const formateCurrentDate= ()=> { let date = new Date(); return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds(); } setInterval(() => { document.querySelectorAll('span')[0].textContent=new Date().toLocaleString(); }, 1000)
useEffect(()=>{ let timer = setInterval(()=>{ setTime(formateCurrentDate()) },1000) return ()=>{ clearInterval(timer) } },[])
|
日期格式化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
function formatDate(date, format = 'yyyy-MM-dd HH:mm:ss 星期w') { if (!date) { return date; } const typeDate = date instanceof Date ? date.getTime() : date; date = new Date(typeDate); const obj = { yyyy: date.getFullYear(), yy: ('' + date.getFullYear()).slice(-2), M: date.getMonth() + 1, MM: ('0' + (date.getMonth() + 1)).slice(-2), d: date.getDate(), dd: ('0' + date.getDate()).slice(-2), H: date.getHours(), HH: ('0' + date.getHours()).slice(-2), h: date.getHours() % 12, hh: ('0' + (date.getHours() % 12)).slice(-2), m: date.getMinutes(), mm: ('0' + date.getMinutes()).slice(-2), s: date.getSeconds(), ss: ('0' + date.getSeconds()).slice(-2), w: ['日', '一', '二', '三', '四', '五', '六'][date.getDay()], }; return format.replace(/([a-z]+)/gi, function (key) { return obj[key]; }); } console.log(formatDate('2021-07-03 19:00:00'));
|