JavaScript Date构造函数参数详解与时间处理

作者:小括号

时间:2026-10-27

浏览:617

本文详细介绍JavaScript中Date对象的创建方式。重点解析无参构造获取当前时间的用法,以及通过毫秒数、日期字符串和独立参数创建自定义时间的技巧。深入对比Date.parse与Date.UTC的区别,并阐明GMT时间与本地时间的转换逻辑,帮助开发者准确处理日期数据。

文章目录

Date对象创建基础

在JavaScript中,创建日期对象有多种方式。


代码如下:

 
var now=new Date()

当构造函数未接收任何参数时,新创建的Date对象会自动获取系统当前的日期和时间。



基于毫秒数的时间指定

若需指定特定时间,必须向Date构造函数传递参数,且该参数通常表示自1970年1月1日00:00:00 UTC以来的毫秒数。



可以通过Date.parse()或Date.UTC()方法计算出对应的毫秒数值,再传入Date构造函数。



Date.parse()方法接收一个表示日期的字符串作为参数,例如"May 25,2013"或"6/13/2013"。需要注意的是,具体支持的日期字符串格式可能因浏览器地区设置而异。



Date.UTC()方法接收多个参数,依次为:年份、月份(0至11)、日期(1至31)、小时(0至23)、分钟、秒和毫秒。其中,年份和月份是必填项,其余参数若省略则默认为0。



字符串与UTC参数的使用差异

假设需要定义一个表示2013年12月12日的日期对象,可以借助Date.parse()实现。



var mydate=new Date(Date.parse("12/12/2013")),



此外,还可以直接传入日期字符串。



var mydate=new Date("12/12/2013"),此时Date构造函数内部会自动调用Date.parse(),将字符串解析为毫秒数并创建对象。



另一种方式是使用Date.UTC()。



var mydate=new Date(Date.UTC(2013,11,12)//注意月份下标从0开始,而日的下标从1开始



如果采用直接传参的方式。



var mydate=new Date(2013,11,12),其行为类似于上述parse的构造方法。当第一个参数为数值时,它被视为年份,第二个参数被视为月份。但关键区别在于:var mydate=new Date(Date.UTC(2013,11,12))返回的是GMT(格林威治标准时间),而var mydate=new Date(2013,11,12)返回的是基于系统本地时区的时间。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章