JS 中的日期

2023-10-26 16:11:54 浏览数 (2)

有格式的时间

代码语言:javascript复制
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

时间戳

代码语言:javascript复制
new Date().getTime(); //十三位的时间戳 1626244866842
new Date().valueOf(); //十三位的时间戳 1626244866842
Date.parse(new Date()); //前两种比较推荐,这一种会将毫秒数全部转成000, 1626244862000

日期转换成时间格式

  • 可以有参数,如果没有参数获取的是当前的时间对象
  • 参数可以是时间字符串或者是时间戳,则转换对应时间的时间对象,要注意格式
代码语言:javascript复制
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 (中国标准时间)

计算

代码语言:javascript复制
如果直接使用`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);

0 人点赞