js Date() 总结

一、Date对象构造函数

Date对象具有多种构造函数:

new Date() 
new Date(milliseconds) 
new Date(datestring) 
new Date(year, month) 
new Date(year, month, day) 
new Date(year, month, day, hours) 
new Date(year, month, day, hours, minutes) 
new Date(year, month, day, hours, minutes, seconds) 
new Date(year, month, day, hours, minutes, seconds, microseconds) 

Date对象构造函数参数说明:

milliseconds - 距离JavaScript内部定义的起始时间1970年1月1日的毫秒数 
datestring - 字符串代表的日期与时间。此字符串可以使用Date.parse()转换 
year - 四位数的年份,如果取值为0-99,则在其之上加上1900 
month - 0(代表一月)-11(代表十二月)之间的月份 
day - 1-31之间的日期 
hours - 0(代表午夜)-23之间的小时数 
minutes - 0-59之间的分钟数 
seconds - 0-59之间的秒数 
microseconds - 0-999之间的毫秒数 

Date对象返回值

如果没有任何参数,将返回当前日期;
如果参数为一个数字,将数字视为毫秒值,转换为日期
如果参数为一个字符串,将字符串视为日期的字符串表示,转换为日期
还可以使用六个构造函数精确定义,并返回时间

二、Date()时间

1.当前系统区域设置格式(toLocaleString)

console.log(new Date().toLocaleString()) // 2022/1/20 下午3:30:56
console.log(new Date().toLocaleTimeString()) // 下午3:30:56
console.log(new Date().toLocaleDateString()) // 2022/1/20

2.中国标准时间格式(toString)

console.log(new Date().toString()) // Thu Jan 20 2022 15:30:56 GMT+0800 (中国标准时间)
console.log(new Date().toTimeString()) // 15:30:56 GMT+0800 (中国标准时间)
console.log(new Date().toDateString()) // Thu Jan 20 2022

3.全球标准时间格式(toUTCString)

console.log(new Date().toUTCString()) // Thu, 20 Jan 2022 07:30:56 GMT

4.ISO 标准时间格式(toISOString)

console.log(new Date().toISOString()) // 2022-01-20T07:30:56.663Z

三、Date()函数

1.日期获取类函数

Date() 函数 -- Date对象的构造函数 
getDate() 函数 -- 返回date对象中的月份中的天数(1-31) 
getDay()函数 -- 返回date对象中的星期中的天数(0-6) 
getFullYear() 函数 -- 返回date对象中的四位数年份 
getHours()函数 -- 返回date对象中的小时数(0-23) 
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) 
getMinutes() 函数 -- 返回date对象中的分钟数(0-59) 
getMonth() 函数 -- 返回date对象中的月份数(0-11) 
getSeconds() 函数 -- 返回date对象中的秒数(0-59) 
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) 
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) 
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) 
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) 
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) 
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) 
getYear() 函数 -- 返回date对象的年份(真实年份减去1900) 
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)

2.日期设置类函数

setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setYear() 函数 -- 设置date对象的年份(真实年份减去1900)

3.日期打印类函数

toDateString() 函数 -- 返回date对象的日期部分的字符串表示 
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 
toTimeString()函数 -- 返回date对象的时间部分的字符串 
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示

4.日期解析类函数

Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) 
JavaScript_Date函数按照字母分类 
Date() 函数 -- Date对象的构造函数 
getDate() 函数 -- 返回date对象中的月份中的天数(1-31) 
getDay()函数 -- 返回date对象中的星期中的天数(0-6) 
getFullYear() 函数 -- 返回date对象中的四位数年份 
getHours()函数 -- 返回date对象中的小时数(0-23) 
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) 
getMinutes() 函数 -- 返回date对象中的分钟数(0-59) 
getMonth() 函数 -- 返回date对象中的月份数(0-11) 
getSeconds() 函数 -- 返回date对象中的秒数(0-59) 
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) 
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) 
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) 
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) 
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) 
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) 
getYear() 函数 -- 返回date对象的年份(真实年份减去1900) 
Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) 
setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setYear() 函数 -- 设置date对象的年份(真实年份减去1900) 
toDateString() 函数 -- 返回date对象的日期部分的字符串表示 
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 
toTimeString()函数 -- 返回date对象的时间部分的字符串 
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示 
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)

四、实例

1.中国标准时间转化为yyyy-MM-dd mm:dd:ss

formatDayTime (v) {
    const date = new Date(v)
    return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}`
},

2.获取当前月份yyyy-MM及近12月月份yyyy-MM

getmonthdata(){
    var dataArr = [];
    var data=new Date();
    var year=data.getFullYear();
    data.setMonth(data.getMonth()+1)//获取到当前月份,设置月份
    data.setMonth(data.getMonth()-1);
    dataArr.push(data.getFullYear()+"-"+(data.getMonth()+1))
    data.setMonth(data.getMonth()-11);
    dataArr.push(data.getFullYear()+"-"+(data.getMonth()+1))
    // for (var i = 0; i < 12; i++) {
    //     data.setMonth(data.getMonth()-1);//每次循环一次 月份值减1
    //     dataArr.push(data.getFullYear()+"-"+(data.getMonth()+1))
    // }
    return dataArr.reverse();
}

3.获取本周、上周、下周的起始、结束日期

// 获取本周(dates=0)、上周(dates=-1)、下周(dates=1)的起始(type=s)、结束(type=e)日期
export function getMonday(type, dates) {
    var now = new Date();
    var nowTime = now.getTime();
    var day = now.getDay();
    var longTime = 24 * 60 * 60 * 1000;
    var n = longTime * 7 * (dates || 0);
    if (type == "s") {
        var dd = nowTime - (day - 1) * longTime + n;
    };
    if (type == "e") {
        var dd = nowTime + (7 - day) * longTime + n;
    };
    dd = new Date(dd);
    var y = dd.getFullYear();
    var m = dd.getMonth() + 1;
    var d = dd.getDate();
    m = m < 10 ? "0" + m: m;
    d = d < 10 ? "0" + d: d;
    var day = y + "-" + m + "-" + d;
    return day;
}

4.获取本月、上月、下月的起始、结束日期

// 获取本月(dates=0)、上月(dates=-1)、下月(dates=1)的起始(type=s)、结束(type=e)日期
export function getMonths(type, months) {
    var d = new Date();
    var year = d.getFullYear();
    var month = d.getMonth() + 1;
    if (Math.abs(months) > 12) {
        months = months % 12;
    };
    if (months != 0) {
        if (month + months > 12) {
            year++;
            month = (month + months) % 12;
        } else if (month + months < 1) {
            year--;
            month = 12 + month + months;
        } else {
            month = month + months;
        };
    };
    month = month < 10 ? "0" + month: month;
    var date = d.getDate();
    var firstday = year + "-" + month + "-" + "01";
    var lastday = "";
    if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") {
        lastday = year + "-" + month + "-" + 31;
    } else if (month == "02") {
        if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
            lastday = year + "-" + month + "-" + 29;
        } else {
            lastday = year + "-" + month + "-" + 28;
        };
    } else {
        lastday = year + "-" + month + "-" + 30;
    };
    var day = "";
    if (type == "s") {
        day = firstday;
    } else {
        day = lastday;
    };
    return day;
}

5.获取今年、去年、明年的开始、结束日期

// 获取今年(dates=0)、去年(dates=-1)、明年(dates=1)的开始(type=s)、结束(type=e)日期
export function getYear(type, dates) {
    var dd = new Date();
    var n = dates || 0;
    var year = dd.getFullYear() + Number(n);
    if (type == "s") {
        var day = year + "-01-01";
    };
    if (type == "e") {
        var day = year + "-12-31";
    };
    if (!type) {
        var day = year + "-01-01/" + year + "-12-31";
    };
    return day;
}
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值