var date = new Date(); 先创建
var year = date .getFullYear(); 年
var month = date.getMonth() + 1; 月份需要加1
var day = date.getDate(); 天
var week = date.getDay(); 星期几
var hour = date.getHours(); 小时
var min = date.getMinutes(); 分
var sec = date.getSeconds(); 秒
var milli = date .getFullYear().getTime(); 毫秒
var milli = date.getMilliseconds(); 毫秒
var nowtime = date.getTime() 从1970年-1月-1号到现在的毫秒数
var start = Date.new() 页面加载时的时间
设置/修改年月日 星期 时分秒 毫秒 返回值: 修改后的日期对应的毫秒数 是否影响原日期对象: 是
注意: 设置 月日 时分秒 毫秒时 是否超出临界值
date.setFullYear(2024); 设置年份
date.setMonth(1); 设置月份: 月份参数 = 期望月份 - 1
date.setDate(1); 设置日期(小技巧: 本月的第0天 => 上个月的最后一天 下个月的第0天 => 本月的最后一天)
设置时分秒 date.setHours(12); date.setMinutes(12); date.setSeconds(12); date.setMilliseconds(120);
(1) 单参数传参 => 传入日期格式的字符串 如:"2024-6-14 00:00:00"
优点: 日期对象的结果和传入的参数保持一致
缺点: 当月份 日期 时分秒 参数超出最大值 => 无效日期
var date = new Date("2024-10-1 12:12:12");
var date = new Date("2024-10-31 25:12:12"); Invalid Date 无效的日期
(2) 多参数传参 => 分别传入年月日 时分秒 毫秒
注意: 月份的参数0-11 (0:一月 11: 12月)
技巧: 月份的参数 = 期望的月份 - 1
优点: 超出临界值,自动换算 (大于最大值 => 进一位 , 小于最小值 => 借一位)
缺点: 月份的参数 = 期望的月份 - 1
var date = new Date(2024,5,14,12,12,12); 2024-6-14
超出(大于最大值) => 进一位
var date = new Date(2024,9,32,12,12,12); 2024-10-32 => 2024-11-1
超出(小于最小值) => 进一位
var date = new Date(2024,9,0,12,12,12); 2024-10-0 => 2024-9-30
(3) 单参数传参 => 纯数字(毫秒数),自1970以来的毫秒数
var date = new Date(0);
var date = new Date(1000000000000); 1970年以后
var date = new Date(-1000000000000); 1970年以前
(4) 单参数传参 => 传入一个日期对象(日期对象深复制 => 日期对象中存在修改日期/时间的方法 => 影响原日期对象, 如果不期望影响原日期对象,先拷贝新的)
var date = new Date(2024,5,14,12,12,12);