首页 web前端 js教程 JavaScript中Date对象的详解(附示例)

JavaScript中Date对象的详解(附示例)

Oct 18, 2018 pm 04:34 PM
date javascript

本篇文章给大家带来的内容是关于JavaScript中Date对象的详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、创建Date实例对象

1.new Date();依据系统设置的当前时间来创建一个Date对象

    let today = new Date();
    console.log(today); //Thu Jun 14 2018 14:51:00 GMT+0800 (CST)
登录后复制

2.new Date(value);

参数:value  代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数

    let day = new Date(1528959690000);
    console.log(day); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
登录后复制

3.new Date(dateString);

参数:dateString  表示日期的字符串值。该字符串应该能被 Date.parse() 方法识别

    let day1 = new Date("2018-06-14T07:01:30.000Z");
    console.log(day1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
登录后复制

4.new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

参数:

  • year  代表年份的整数值,为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98

  • month  代表月份的整数值从0(1月)到11(12月)

  • day  代表一个月中的第几天的整数值,从1开始

  • hour  代表一天中的小时数的整数值 (24小时制)

  • minute  分钟数

  • second  秒数

  • millisecond  表示时间的毫秒部分的整数值

    let day2 = new Date(2018,5,14);
    console.log(day2); //Thu Jun 14 2018 00:00:00 GMT+0800 (CST)

    let day3 = new Date(2018,5,14,15,1,30);
    console.log(day3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
登录后复制

二、Date静态属性

1.Date.prototype 表示Date构造函数的原型

Date实例继承自Date.prototype,你可以使用构造函数的原型对象向所有Date实例添加属性或方法

三、Date静态方法

1.Date.UTC() 方法返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数

语法:Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
参数:

  • year  1900 年后的某一年份

  • month  0 到 11 之间的一个整数,表示月份

  • date  1 到 31 之间的一个整数,表示某月当中的第几天

  • hrs  0 到 23 之间的一个整数,表示小时

  • min  0 到 59 之间的一个整数,表示分钟

  • sec  0 到 59 之间的一个整数,表示秒

  • ms  0 到 999 之间的一个整数,表示毫秒

    let utcDate = new Date(Date.UTC(2018, 5, 14, 7, 1, 30));
    console.log(Date.UTC(2018, 5, 14, 7, 1, 30)); //1528959690000
    console.log(utcDate); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
登录后复制

2.Date.now() 方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数

    let nowDate = new Date(Date.now());
    console.log(nowDate); //Fri Jun 15 2018 16:31:05 GMT+0800 (CST)
    console.log(Date.now()); //1529051465358
登录后复制

3.Date.parse()方法返回一个表示从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值

语法:Date.parse(dateString)

参数:dateString   一个符合 RFC2822 或 ISO 8601 日期格式的字符串

返回值:返回一个从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN

    let time = Date.parse('2018-06-14T07:01:30.000Z');
    console.log(time);// 1528959690000
登录后复制

四、Date实例方法

1.年

setFullYear() 方法根据本地时间为一个日期对象设置年份

语法:dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
参数:

  • yearValue  指定年份的整数值,例如1995。

  • monthValue  一个0到11之间的整数值,表示从一月到十二月。

  • dayValue  一个1到31之间的整数值,表示月份中的第几天。如果你指定了 dayValue 参数,就必须同时指定monthValue

getFullYear() 方法根据本地时间返回指定日期的年份

语法:dateObj.getFullYear()
返回值:根据当地时间,返回一个对应于给定日期的年份数字

    let date1 = new Date(1528959690000);
    console.log(date1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date1.setFullYear(2017)); //1497423690000
    console.log(date1.getFullYear()); //2017
登录后复制

setUTCFullYear() 方法根据世界标准时间为一个具体日期设置年份

语法:dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])
参数:

  • yearValue  指定年份整数值,例如,1995

  • monthValue  可选,指定一个0-11之间的整数值,代表从一月到十二月

  • dayValue  可选,指定一个1-31之间的整数值,代表月份中的第几天,如果你指定了dayValue参数,那么你必须指定monthValue参数

getUTCFullYear() 以世界时为标准,返回一个指定的日期对象的年份

语法:dateObj.getUTCFullYear()
返回值:返回一个绝对数值,符合 Year-2000 标准,例如 1995

let day1 = new Date(1528959690000);
console.log(day1.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day1.setUTCFullYear(2017)); //1497423690000
console.log(day1.getUTCFullYear()); //2017
登录后复制

2.月

setMonth() 方法根据本地时间为一个设置年份的日期对象设置月份

语法:dateObj.setMonth(monthValue[, dayValue])
参数:

  • monthValue  介于 0 到 11 之间的整数(表示一月到十二月)

  • dayValue  从 1 到 31 之间的整数,表示月份中的第几天

getMonth() 方法根据本地时间,返回一个指定的日期对象的月份

语法:dateObj.getMonth()
返回值:返回一个0 到 11的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推

    let date2 = new Date(1528959690000);
    console.log(date2); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date2.setMonth(4)); //1526281290000
    console.log(date2.getMonth()); //4
登录后复制

setUTCMonth()方法根据通用的时间来设置一个准确的月份

语法:dateObj.setUTCMonth(monthValue[, dayValue])
参数:

  • monthValue  一个0-11的整数,代表1月到12月

  • dayValue  可选参数,一个1-31的整数,代表一个月的天数

getUTCMonth方法以世界时为标准,返回一个指定的日期对象的月份,它是从 0 开始计数的(0 代表一年的第一个月)

语法:dateObj.getUTCMonth()
返回值:返回一个 0 到 11 的整数,分别对应以下月份:0 代表一月,1 代表二月,2 代表三月,依次类推

    let day2 = new Date(1528959690000);
    console.log(day2.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day2.setUTCMonth(4)); //1526281290000
    console.log(day2.getUTCMonth()); //4
登录后复制

3.日

setDate() 方法根据本地时间来指定一个日期对象的天数

语法:dateObj.setDate(dayValue)
参数:dayValue  一个整数,表示该月的第几天

getDate() 根据本地时间,返回一个指定的日期对象为一个月中的第几天

语法:dateObj.getDate()
返回值:返回一个1 到 31的整数值

    let date3 = new Date(1528959690000);
    console.log(date3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date3.setDate(21)); //1529564490000
    console.log(date3.getDate()); //21
登录后复制

setUTCDate() 方法就是根据全球时间设置特定date对象的日期

语法:dateObj.setUTCDate(dayValue)
参数:dayValue  一个1-31的整形数字,用来指定日期

getUTCDate() 方法以世界时为标准,返回一个指定的日期对象为一个月中的第几天

语法:dateObj.getUTCDate()
返回值:返回一个 1 到 31 的整数值

    let day3 = new Date(1528959690000);
    console.log(day3.toUTCString()); ////Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day3.setUTCDate(25)); //1529910090000
    console.log(day3.getUTCDate()); //25
登录后复制

4.星期几

getDay() 方法根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天

语法:dateObj.getDay()
返回值:返回一个整数值: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推

    let date = new Date(1528959690000);
    console.log(date); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date.getDay()); //4
登录后复制

getUTCDay() 方法以世界时为标准,返回一个指定的日期对象为一星期中的第几天,其中 0 代表星期天

语法:dateObj.getUTCDay()
返回值:返回一个对应一星期中第几天的整数:0 代表星期天,1 代表星期一,2 代表星期二,依次类推

5.时

setHours() 方法根据本地时间为一个日期对象设置小时数

语法:dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:

  • hoursValue  一个 0 到 23 的整数,表示小时

  • minutesValue  一个 0 到 59 的整数,表示分钟

  • secondsValue  一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数

  • msValue  一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和 secondsValue 参数

getHours() 方法根据本地时间,返回一个指定的日期对象的小时

语法:dateObj.getHours()
返回值:返回一个0 到 23之间的整数值

    let date4 = new Date(1528959690000);
    console.log(date4); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date4.setHours(11)); //1528945290000
    console.log(date4.getHours()); //11
登录后复制

setUTCHours() 方法就是根据全球时间设置特定date对象的小时数

语法:dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:

  • hoursValue  表示小时的整数,取值0到23之间

  • minutesValue  可选参数,表示分钟的整数,取值0到59之间

  • secondsValue  可选参数,表示秒数的整数,取值0到59之间;如果指定了该参数,就要同时指定minutesValue这个参数

  • msValue  可选参数,表示毫秒的整数,取值0到999之间;如果指定了该参数,就要指定minutesValue和secondsValue这两个参数

getUTCHours() 方法以世界时为标准,返回一个指定的日期对象的小时数

语法:dateObj.getUTCHours()
返回值:返回一个 0 到 23 的整数

    let day4 = new Date(1528959690000);
    console.log(day4.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day4.setUTCHours(15)); //1528988490000
    console.log(day4.getUTCHours()); //15
登录后复制

6.分

setMinutes() 方法根据本地时间为一个日期对象设置分钟数

语法:dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
参数:

  • minutesValue  一个 0 到 59 的整数,表示分钟数。

  • secondsValue  一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。

  • msValue  一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue和secondsValue 参数

getMinutes() 方法根据本地时间,返回一个指定的日期对象的分钟数

语法:dateObj.getMinutes()
返回值:返回一个0 到 59的整数值

    let date5 = new Date(1528959690000);
    console.log(date5); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date5.setMinutes(30)); //1528961430000
    console.log(date5.getMinutes()); //30
登录后复制

setUTCMinutes()方法会根据根据全球时间来设置指定日期的分钟数

语法:dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
参数:

  • minutesValue  必填,表示要设置的分钟数,是一个介于0和59之间的整数

  • secondsValue  可选参数,表示要设置的秒数,同样也是一个介于0和59之间的整数,如果你传入了这个参数,那么你就必须要传入minutesValue

  • msValue  可选参数,表示要设置的毫秒数,这是一个介于0和999之间的数字,如果你传入了这个参数,那么你就必须要传入minutesValue和secondsValue

getUTCMinutes() 方法以世界时为标准,返回一个指定的日期对象的分钟数

语法:dateObj.getUTCMinutes()
返回值:返回一个 0 到 59 的整数

    let day5 = new Date(1528959690000);
    console.log(day5.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day5.setUTCMinutes(45)); //1528962330000
    console.log(day5.getUTCMinutes()); //45
登录后复制

7.秒

setSeconds() 方法根据本地时间设置一个日期对象的秒数

语法:dateObj.setSeconds(secondsValue[, msValue])
参数:

  • secondsValue  一个 0 到 59 的整数

  • msValue  一个 0 到 999 的数字,表示微秒数

getSeconds() 方法根据本地时间,返回一个指定的日期对象的秒数

语法:dateObj.getSeconds()
返回值:返回一个 0 到 59 的整数值

    let date6 = new Date(1528959690000);
    console.log(date6); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date6.setSeconds(40)); //1528959700000
    console.log(date6.getSeconds()); //40
登录后复制

setUTCSeconds() 方法为一个依据国际通用时间的特定日期设置秒数

语法:dateObj.setUTCSeconds(secondsValue[, msValue])
参数:

  • secondsValue  一个在0到59之间的整数,表示秒数

  • msValue  可选参数,一个0到999之间的数字,代表毫秒数

getUTCSeconds() 方法以世界时为标准,返回一个指定的日期对象的秒数

语法:dateObj.getUTCSeconds()
返回值:返回一个 0 到 59 的整数

    let day6 = new Date(1528959690000);
    console.log(day6.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day6.setUTCSeconds(50)); //1528959710000
    console.log(day6.getUTCSeconds()); //50
登录后复制

8.毫秒

setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数

语法:dateObj.setMilliseconds(millisecondsValue)
参数:millisecondsValue  一个 0 到 999 的数字,表示豪秒数

getMilliseconds() 方法,根据本地时间,返回一个指定的日期对象的毫秒数

语法:dateObj.getMilliseconds()
返回值:方法返回一个0 到 999的整数

let date7 = new Date(1528959690000);
console.log(date7); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
console.log(date7.setMilliseconds(100)); //1528959690100
console.log(date7.getMilliseconds()); //100
登录后复制

setUTCMilliseconds() 方法会根据世界时来设置指定时间的毫秒数

语法:dateObj.setUTCMilliseconds(millisecondsValue)
参数:millisecondsValue  0 - 999 之间的数值,代表毫秒数

getUTCMilliseconds() 方法以世界时为标准,返回一个指定的日期对象的毫秒数

语法:dateObj.getUTCMilliseconds()
返回值:返回一个 0 到 999 的整数

    let day7 = new Date(1528959690000);
    console.log(day7.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day7.setUTCMilliseconds(900)); //1528959690900
    console.log(day7.getUTCMilliseconds()); //900
登录后复制

9.time

setTime() 方法以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为 Date 对象设置时间

语法:dateObj.setTime(timeValue)
参数:timeValue  一个整数,表示从1970-1-1 00:00:00 UTC开始计时的毫秒数

getTime() 方法返回一个时间的格林威治时间数值,这个方法的功能和 valueOf() 方法一样

语法:dateObj.getTime()
返回值:返回一个从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数

    let date8 = new Date(1528959690000);
    console.log(date8); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date8.setTime(1528959690100)); //1528959690100
    console.log(date8.getTime()); //1528959690100
登录后复制

10.获取时间字符串

  • toDateString() 方法以美式英语和人类易读的形式返回一个日期对象日期部分的字符串

  • toTimeString() 方法以人类易读形式返回一个日期对象时间部分的字符串

  • toUTCString() 方法把一个日期转换为一个字符串,使用UTC时区

  • toISOString() 方法返回一个 ISO(ISO 8601 Extended Format)格式的字符串:
     YYYY-MM-DDTHH:mm:ss.sssZ

  • toJSON() 方法返回 Date 对象的字符串形式

  • toLocaleString() 方法返回该日期对象的字符串,该字符串格式因不同语言而不同

  • toLocaleDateString() 方法返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同

  • toLocaleTimeString() 方法返回该日期对象时间部分的字符串,该字符串格式因不同语言而不同

  • valueOf() 方法返回一个 Date 对象的原始值

let day9 = new Date(1528959690000);
console.log(day9); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toString()); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toDateString()); //Thu Jun 14 2018
console.log(day9.toTimeString()); //15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day9.toISOString()); //2018-06-14T07:01:30.000Z
console.log(day9.toJSON()); //2018-06-14T07:01:30.000Z
console.log(day9.toLocaleString()); //2018/6/14 下午3:01:30
console.log(day9.toLocaleDateString()); //2018/6/14
console.log(day9.toLocaleTimeString()); //下午3:01:30
console.log(day9.valueOf()); //1528959690000
登录后复制

以上是JavaScript中Date对象的详解(附示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript和WebSocket:打造高效的实时图像处理系统 JavaScript和WebSocket:打造高效的实时图像处理系统 Dec 17, 2023 am 08:41 AM

JavaScript是一种广泛应用于Web开发的编程语言,而WebSocket则是一种用于实时通信的网络协议。结合二者的强大功能,我们可以打造一个高效的实时图像处理系统。本文将介绍如何利用JavaScript和WebSocket来实现这个系统,并提供具体的代码示例。首先,我们需要明确实时图像处理系统的需求和目标。假设我们有一个摄像头设备,可以采集实时的图像数

See all articles