在日常开发过程中,我们常常用到日期或者时间戳,所以我索性就把这个知识点汇总一下,写篇博客记录。
new Date() 的参数可以为整数,也可以为字符串,但格式必须正确
new Date()不传参数时,默认获取的是当前日期
new Date()
//Mon Dec 06 2021 21:32:28 GMT+0800 (中国标准时间)
new Date(1137075575000)
//Thu Jan 12 2006 22:19:35 GMT+0800 (中国标准时间)
常见的是,
拼接,正确
new Date(2009,1,1);
//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)
下面这几种也可以
new Date("January 12,2006 22:19:35");
new Date("January 12,2006");
new Date(2006,0,12,22,19,35);
new Date(2006,0,12);
//Thu Jan 12 2006 22:19:35 GMT+0800 (中国标准时间)
其次/
拼接,正确
new Date("2009/1/1");
//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)
-
拼接,IE、fireFox错误,chrome正确
new Date("2009-1-1");
//Sun Feb 01 2009 00:00:00 GMT+0800 (中国标准时间)
var myDate = new Date();
myDate.getYear(); //获取当前年份
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/4/13)
myDate.toLocaleTimeString(); //获取当前时间 (如:下午2:42:45)
myDate.toLocaleString( ); //获取日期与时间 (如:2021/4/13下午2:43:23)
JavaScript 获取当前毫秒时间戳,常用的方法有以下三种方法:
方法一:
Date.parse(new Date())
不推荐:毫秒改成了000显示
var timestamp = Date.parse(new Date())
console.log(timestamp)
结果:1638794615000
方法二:
(new Date()).valueOf()
推荐
var timestamp = (new Date()).valueOf()
console.log(timestamp)
结果:1638795064841
方法三:
new Date().getTime()
推荐
var timestamp = new Date().getTime()
console.log(timestamp)
结果:1638795246397
Date.parse()
方法解
析一个表示某个日期的字符串
,并返回
从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数
如果该字符串无法识别
,或者一些情况下,包含了不合法
的日期数值(如:2015-02-31),则返回值为NaN
。
const time = Date.parse('01 Jan 1970 00:00:00 GMT');
console.log(time);
//0
const time = Date.parse('04 Dec 1995 00:12:00 GMT');
console.log(time);
// 818035920000
var strTime="2021-04-16"; //字符串日期格式
console.log(strTime.replace(/-/g, "/"));//2011/04/16
console.log(Date.parse(strTime.replace(/-/g, "/")));//1302883200000
console.log(new Date(Date.parse(strTime.replace(/-/g, "/"))));//转换成Data(); Sat Apr 16 2011 00:00:00 GMT+0800 (中国标准时间)
本博客参考: