有格式的时间
let myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月),所以获取当前月份是myDate.getMonth()+1;
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期 2021/7/14
myDate.toLocaleTimeString(); //获取当前时间 2021/7/14
myDate.toLocaleString( ); //获取日期与时间 2021/7/14下午2:19:46
时间戳
new Date().getTime(); //十三位的时间戳 1626244866842
new Date().valueOf(); //十三位的时间戳 1626244866842
Date.parse(new Date()); //前两种比较推荐,这一种会将毫秒数全部转成000, 1626244862000
日期转换成时间格式
- 可以有参数,如果没有参数获取的是当前的时间对象
- 参数可以是时间字符串或者是时间戳,则转换对应时间的时间对象,要注意格式
new Date('2021/07/14'); //正确 , Wed Jul 14 2021 00:00:00 GMT+0800 (中国标准时间)
new Date('2021,07,14'); //正确 , Wed Jul 14 2021 00:00:00 GMT+0800 (中国标准时间)
new Date(1626244866842); //正确 , Wed Jul 14 2021 14:41:06 GMT+0800 (中国标准时间)
new Date('2021-07-14'); // 错误的,这种格式是不支持的,
new Date("2021-07-14".replace(/-/g, "/")); //Sat Apr 16 2011 00:00:00 GMT+0800 (中国标准时间)
计算
如果直接使用`new Date()`进行计算,默认会转换成从1970.1.1时开始的毫秒数.
new Date('2021,07,13') - 1000 ; 1626105600000 - 1000
1626105599000
let baseTime = '2015-03-19';
let res = new Date(baseTime.replace(/-/g,'/'));
console.log(res);
Comment here is closed