返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript日期对象Date怎么创建和使用
  • 382
分享到

JavaScript日期对象Date怎么创建和使用

2024-04-02 19:04:59 382人浏览 独家记忆
摘要

这篇文章主要介绍了javascript日期对象Date怎么创建和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript日期对象Date怎么创建和使用文章都会有所

这篇文章主要介绍了javascript日期对象Date怎么创建和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript日期对象Date怎么创建和使用文章都会有所收获,下面我们一起来看看吧。

日期和时间是编程过程中不可绕过的必修课,好在JavaScript为我们准备好了一个内建的对象Date(日期)。通过该对象,我们可以创建、存储、修改、测量时间、打印等基础操作,是每个JavaScript程序员的必修课之一。

Date对象的创建

和普通的对象一样,我们可以使用new Date()来创建一个Date对象,还可以在创建的时候传入一些初始化参数。

new Date()

不带参数的创建案例:

let now = new Date()console.log(now)

代码执行结果如下:

JavaScript日期对象Date怎么创建和使用

这样就简单的输出了代码执行时的具体时间,这里显示的就是2022年6月22日 19点25份24秒

new Date(milliseconds)

创建一个带有毫秒参数的日期对象,其中milliseconds指的是自1970年1月1日UTC+0之后的毫秒数(1毫秒=1/1000秒)。

//创建一个时间,举例1970.1.1时间点0毫秒
let jan01_1970 = new Date(0)
console.log(jan01_1970)

//创建一个时间,比1970年1.1时间点晚3天(3天*24小时*3600秒*1000毫秒)
let jan04_1970 = new Date(3 * 24 * 3600 * 1000)
console.log(jan04_1970)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

milliseconds就是从1970年1月1日 00:00:00以来,经过的毫秒数,或者称之为时间戳

时间戳是一种简单的日期数字化表示方式,我们通常使用new Date(milliseconds)创建一个日期。如果我们已经有了一个日期Date对象,可以使用date.getTime()获得日期对应的时间戳。

注意:

中国处于动8区,所以上例中的时间都不是00:00:00,而是08:00:00

1970年之前的时间?

时间戳不仅仅是整数,也可以是负数,例如:

//1969-12-31 00:00:00let dec31_1969 = new Date(-24 * 3600 * 1000)console.log(dec31_1969)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

new Date(date_str)

如果每次创建时间都是用时间戳,可能并不方便,因为时间戳计算还是有点难度的。

我们还可以使用时间字符串创建一个时间,举个例子:

let date = new Date('2022-06-22 00:00:00')console.log(date)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

new Date(year, month, date, hours, minutes, sec, ms)

  • year——必须是四位的数字;

  • month——[0,11]0表示一月;

  • date——当月的某一天,默认为1

  • hours/minutes/sec/ms——默认为0;

举个栗子:

let date = new Date(2022,6,22,20,35,33)console.log(date)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

我们还可以指定毫秒数:

let date = new Date(2022,6,22,20,35,33,777)console.log(date)

Date对象的方法

如果我们有一个Date对象,我们可以通过Date对象的内置方法,获取时间的一部分,例如年份、月份、日期等。

获取日期内容

例如我们有日期date

let date = new Date(2022,5,22,20,35,33)
  1. getFullYear()获取年份,date.getFullYear()返回2022

  2. getMonth()获取月份,date.getMonth()返回5,也就是6月;

  3. getDate()获取当月的日期,date.getDate()返回22;

  4. getDay()获取当前时间在一周的哪一天,date.getDay()返回3

注意:

  • 以上日期都是已于当地日期的,比如我这里是中国的时区

  • 获取年份一定要用getFullYeargetYear会返回两位数的年份

我们也可以获得0时区的时间,也就是UTC时间,分别对应getUTCFullYear()getUTCMonth()getUTCDay等。只需要在get后插入UTC即可。

举个例子:

let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())

代码执行结果:

JavaScript日期对象Date怎么创建和使用

夜里也可以看出,中国时区和0时区相差8小时。

  1. getTime()返回日期的时间戳,方法没有UTC模式;

  2. getTimezoneOffset()返回本地时区和0时区相差的时间,以分钟为单位,并且没有UTC模式;

设置日期内容

我们还可以通过Date对象的方法设置日期中的某一部分:

  • setFullYear(year, [month], [date])设置年份(月份、日)

  • setMonth(month, [date])设置月份(日)

  • setDate(date)设置日期(月份的第几天)

  • setHours(hour, [min], [sec], [ms])设置小时(分、秒、毫秒)

  • setMinutes(min, [sec], [ms])设置分钟(秒、毫秒)

  • setSeconds(sec, [ms])设置秒(毫秒)

  • setMilliseconds(ms)设置毫秒

  • setTime(milliseconds)(使用自 1970-01-01 00:00:00 UTC+0 以来的毫秒数来设置整个日期)

以上函数中只有setTime()没有UTC变体。

日期的自动校准

JavaScriptDate具备自动校准功能,这为我们针对时间的计算提供了极大的方便。

例如:

let date = new Date(2022,5,38)//注意这里的38console.log(date)

代码的执行结果:

JavaScript日期对象Date怎么创建和使用

从执行结果我们可以看出"2022年6月38号"并没有使程序出现错误,而是将日期转成了”2022年7月8号“。

以上案例验证了,在JavaScript中,超出范围的日期会被Date对象自动分配。这样我们就可以非常方便的使用Date对象进行日期的计算。

例如,我们可以在日期上对年、月、日进行加减法运算:

let date = new Date(2022,5,23)//当前时间是2022-6-23Date.setDate(date.getDate() + 8)//计算八天后的时间console.log(date)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

同样的,我们也可以使用date.setSeconds()方法已秒为单位计算日期。

日期转为数字、日期差值

日期Date转为数字的结果和使用date.getTime()的返回值相同,都是毫秒为单位的数值:

let date = new Date()console.log(+date)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

既然时间的本质就是数字,我们也可以进行时间差计算,并且以ms(毫秒)为单位。

例如:

let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`时间差为${date2-date1}ms`)

代码执行结果为:

JavaScript日期对象Date怎么创建和使用

Date.now()

如果我们希望获得当前时间,更优的做法是使用Date.now()方法。这个方法会返回当前时间的时间戳,同时不需要创建额外的Date对象,这对内存开销、垃圾回收都是有好处的,而且代码更简洁。

举个栗子:

let begin = Date.now()for(let i = 1;i<100000;i++){
    let num = i * i * i;}let end = Date.now()console.log(`consume time ${end - begin}ms`)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

Date.parse()

Date.parse()方法可以读取一个日期字符串,并转为时间戳,但是字符串必须遵守一定的规则:YYYY-MM-DDTHH:mm:ss.sssZ

  • YYYY-MM-DD对应年-月-日

  • T属于分隔符

  • HH:mm:ss.sss对应时:分:秒.毫秒

  • Z可以是+-hh:mm格式的时区。单个字符Z表示UTC+0

字符串可以使用省略写法,例如:YYYY-MM-DDYYYY-MMYYYY

举个小李子:

let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//时间戳let date = new Date(ms)console.log(date)

代码执行结果:

JavaScript日期对象Date怎么创建和使用

关于“JavaScript日期对象Date怎么创建和使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaScript日期对象Date怎么创建和使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网JavaScript频道。

--结束END--

本文标题: JavaScript日期对象Date怎么创建和使用

本文链接: https://lsjlt.com/news/98833.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript日期对象Date怎么创建和使用
    这篇文章主要介绍了JavaScript日期对象Date怎么创建和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript日期对象Date怎么创建和使用文章都会有所...
    99+
    2024-04-02
  • javascript中date对象格式化日期的方法
    小编给大家分享一下javascript中date对象格式化日期的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript有什么特点1、js属于一种解...
    99+
    2023-06-14
  • javascript内置对象Date怎么使用
    这篇文章主要讲解了“javascript内置对象Date怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript内置对象Date怎么使用”吧!Date的基本使用内置对象Da...
    99+
    2023-06-29
  • JavaScript怎么创建类和对象
    这篇文章主要介绍了JavaScript怎么创建类和对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript怎么创建类和对象文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • JavaScript的Date对象怎么用
    本篇内容介绍了“JavaScript的Date对象怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接下...
    99+
    2024-04-02
  • 怎么使用JavaScript创建多个对象
    本篇内容介绍了“怎么使用JavaScript创建多个对象”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、...
    99+
    2024-04-02
  • Thymeleaf日期对象怎么使用
    这篇“Thymeleaf日期对象怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Th...
    99+
    2024-04-02
  • 怎么使用Date对象
    本篇内容介绍了“怎么使用Date对象”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Date对象怎么用那?首...
    99+
    2024-04-02
  • JavaScript代理对象Proxy怎么创建使用
    这篇文章主要讲解了“JavaScript代理对象Proxy怎么创建使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript代理对象Proxy怎...
    99+
    2024-04-02
  • JavaScript中怎么创建对象
    小编给大家分享一下JavaScript中怎么创建对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ECMA-262把对象定义为:...
    99+
    2024-04-02
  • 如何使用JavaScript创建对象
    这篇文章将为大家详细讲解有关如何使用JavaScript创建对象,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript对每个创建的对象都会设置一个原型,指向它...
    99+
    2024-04-02
  • 怎么用JavaScript创建多个对象
    本文小编为大家详细介绍“怎么用JavaScript创建多个对象”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用JavaScript创建多个对象”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2024-04-02
  • Javascript中如何使用Date对象
    Javascript中如何使用Date对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、Date对象是什么Date 对象用于处理日期和时间...
    99+
    2024-04-02
  • JavaScript中Date对象有什么用
    这篇文章主要为大家展示了“JavaScript中Date对象有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中Date对象有什么用”这...
    99+
    2024-04-02
  • 如何用JavaScript创建对象
    这篇文章主要讲解了“如何用JavaScript创建对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用JavaScript创建对象”吧!  &...
    99+
    2024-04-02
  • javascript中怎么通过面向对象创建对象
    本篇文章为大家展示了javascript中怎么通过面向对象创建对象,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方式一:通过内置Object对象的方式创建 然后通过...
    99+
    2024-04-02
  • JavaScript中怎么创建Web Worker对象
    今天小编给大家分享一下JavaScript中怎么创建Web Worker对象的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所...
    99+
    2024-04-02
  • javascript不使用new能够创建对象吗
    本篇内容介绍了“javascript不使用new能够创建对象吗”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • JavaScript中创建一个xhr对象并使用
    本篇内容介绍了“JavaScript中创建一个xhr对象并使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • 掌握 JavaScript 对象的用法:创建、操作和销毁对象
    访问属性:使用点号 . 或方括号 [] 访问对象的属性。 console.log(person.name); // "John Doe" console.log(person["age"]); // 30 设置属性:同样使用点号或方...
    99+
    2024-03-13
    对象字面量:使用大括号 {} 创建一个对象 键值对用冒号 : 分隔。 const person = { name: "John Doe", age: 30 }; 构造函数:使用 new
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作