本篇文章给大家带来的内容是关于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.sssZtoJSON() 方法返回 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中文网其他相关文章!

JavaScript是现代网站的核心,因为它增强了网页的交互性和动态性。1)它允许在不刷新页面的情况下改变内容,2)通过DOMAPI操作网页,3)支持复杂的交互效果如动画和拖放,4)优化性能和最佳实践提高用户体验。

C 和JavaScript通过WebAssembly实现互操作性。1)C 代码编译成WebAssembly模块,引入到JavaScript环境中,增强计算能力。2)在游戏开发中,C 处理物理引擎和图形渲染,JavaScript负责游戏逻辑和用户界面。

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

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

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),