创建日期对象
var 变量名 = new Date("日期字符串");
如果创建日期对象的时候, 不传参数 得到的是北京时间
创建日期的方法 :
1. 参数为日期字符串
var date = new Date("日期字符串");
2. 可以传入七个参数 分别是 年月日 时分秒 毫秒 参数至少要传2个
var date = new Date(2018, 12);
console.log(date);
3. date对象中 创建时只传入一个参数 这个参数表示的是 毫秒数
var date = new Date(2018); 例如: Thu Jan 01 1970 08:00:02 GMT+0800 (中国标准时间)
console.log(date);
日期字符串
ISO : (国际标准) "2020-01-24" 日期和具体的时分秒之间用T隔开 "2020-01-24T12:00:00Z",
短日期 : "01/19/2020" "2020/01/24" 也可以接具体的时分秒 中间使用空格隔开 注意 : 不要把日期写在最前面
长日期 : "Wed Jan 24 2020" 这种格式顺序可以随便写 也可以加时分秒 加空格隔开
完整日期 : 就是各月份 星期的英文全拼
时间戳 : 指的是1970年1月1日00:00:00 到某个指定的时间点的秒数
js里面运算数据 : 是1970年1月1日00:00:00 到某个指定的时间点的毫秒数
getFullYear() 获取年份 返回的是一个四位数的年份
console.log(date.getFullYear());
getMonth() 获取月份 注意 : js里面使用0-11表示1到12月份 所以我们获取到的月份加1
console.log(date.getMonth());
getDate() 获取当前日期 注意 1到31表示日期
console.log(date.getDate());
getDay() 获取当前日期的星期数 注意 : 使用0-6表示周日到周六 在国外 周日是第一天
console.log(date.getDay());
getHours() 获取当前的小时数
console.log(date.getHours());
getMinutes() 获取当前的分钟数
console.log(date.getMinutes());
getSeconds() 获取当前秒数
console.log(date.getSeconds());
getTime() 获取的是从1970年1月1日 00:00:00到现在的毫秒数
console.log(date.getTime());
setFullYear() 返回值 从1970年1月1日到设置日期之间的毫秒数
但是原本的日期对象发生了变化
注意点 : 月份是0 - 11表示1到12月份
参数 : 第一个参数默认必填, 但是后面可以接月, 日
console.log(date.setFullYear(2018));
console.log(date);
setMonth() 设置的月份加1 才是真实的月份
console.log(date.setMonth(9));
console.log(date);
date.setDate(24);
setHours() 设置的小时
date.setHours(12); 小时的范围是 0 到23
date.setMinutes(56); 分钟的范围是0 到59
date.setSeconds(23); 设置的分钟
console.log(date);
转换本地日期
console.log(date.toString()); 将日期对象转换成字符串
console.log(date.toLocaleString()); 转换成本地日期字符串
console.log(date.toLocaleDateString()); 把日期转换成本地日期字符串
console.log(date.toLocaleTimeString()); 把时间转换成日期字符串
console.log(date);
日期的计算
var date1 = new Date(2019, 5, 12, 5, 30, 00);
var date2 = new Date(2019, 5, 13);
1. 可以直接两个日期对象直接相减 js内部自动转换成从1970年1月1日到指定时间的毫秒数进行相减
var dateSub = date1 - date2;
console.log(Math.abs(dateSub)/(1000 * 60 * 60 * 24));
计算相应的时间, 做相应的计算
date1.setHours( date1.getHours() + 12);
console.log(date1);
date1.setMonth(date1.getMonth() + 1);