JavaScript Date对象构造函数详解与时间戳转换实战
本文详细解析JavaScript中Date对象的多种构造函数用法,包括无参、毫秒数、字符串及多参数形式。通过代码实例演示如何获取当前时间,并重点讲解利用getTime()将日期对象转换为时间戳,以及使用toLocaleString()将时间戳还原为本地时间字符串的完整操作流程。
时间戳与日期格式之间的相互转换是前端开发中的高频需求,下文将通过具体代码示例展示实现这一转换的具体方法。
Date对象构造函数参数详解
在深入探讨转换逻辑之前,首先需要了解JavaScript中Date()构造函数的参数规范。
Date对象是处理时间的核心工具,通过new Date()构造函数创建实例是最基础的操作,例如:
var theDate=new Date();
theDate.getDate();
执行上述代码即可获取当前日期的具体天数。
前文展示了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)
接下来对前述几种构造函数进行逐一解析。
1. new Date():当构造函数不接收任何参数时,返回的是当前系统时间对应的日期对象。
2. new Date(milliseconds):若参数为数字类型,则该数值被视为毫秒数,表示距离1970年1月1日00:00:00 UTC指定毫秒数的日期对象。
3. new Date(datestring):参数为字符串类型,且该字符串必须能被Date.parse()方法成功解析。
4. 以下六种形式为精确定义日期的构造函数:
1). year:整数类型。若值在0到99之间,则自动加上1900;其他情况直接返回原值。 2). month:整数类型,取值范围为0至11。
3). day:整数类型,取值范围为1至31。
4). hours:整数类型,取值范围为0至23。
5). minutes:整数类型,取值范围为0至59。
6). seconds:整数类型,取值范围为0至59。
7). microseconds:整数类型,取值范围为0至9999。
具体代码示例如下:
var d1=new Date();
var d2=new Date(1320336000000);
var d3=new Date("2013-8-20 18:20:30");
var d4=new Date(2013,7,26);
日期对象转换为时间戳
一. 日期对象转换为时间戳:
假设存在一个日期字符串"2013/5/12 20:10:20",现将其转换为时间戳格式:
实现代码如下:
var dateStr="2013/5/12 20:10:20";
var date=new Date(dateStr);
console.log(date.getTime());
通过调用getTime()函数,可以直接获取指定日期对象对应的时间戳。
随后介绍JavaScript Date对象的getTime()方法的具体细节。
getTime()方法的定义与用法说明:
该方法返回当前日期对象距离1970年1月1日00:00:00 UTC之间的毫秒数。
注意:调用该方法时必须基于一个已创建的Date对象实例。
如需查阅更多Date对象相关的方法与属性,请点击参阅。
语法结构如下:
dateObject.getTime()
实例代码演示:
var myDate=new Date()
console.log(myDate.getTime())
运行上述代码,控制台将输出当前时间距离1970年1月1日的毫秒数。
此外还存在其他多种转换方式,此处不再赘述,掌握当前介绍的方法已足够应对常见场景,其余方法可随实践逐步积累。
时间戳转换为本地日期字符串
二. 时间戳转换为日期字符串:
实例代码一:
var date=new Date(1368360620000);
console.log(date.toLocaleString());
介绍JavaScript Date对象的toLocaleString()方法。该方法定义与用法如下:
此方法依据本地时区规则,将Date对象转换为字符串并返回该字符串结果。
注意:调用此方法需基于Date对象的实例。
语法结构如下:
dateObject.toLocaleString()
实例代码演示:
var d=new Date();
console.log(d.toLocaleString());
关于JavaScript Date对象的toLocaleString()方法说明:
toLocaleString()方法的定义与用法:
该方法根据本地时间设置,把Date对象转换为字符串,并返回该字符串。
注意:此方法必须通过Date对象的实例进行调用。
语法结构如下:
dateObject.toLocaleString()
实例代码演示:
var d=new Date();
console.log(d.toLocaleString());
实例二:
function formatDate(now)
{
var year=now.getYear();
var month=now.getMonth()+1;
var date=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
}
var d=new Date(1368360620000);
console.log(formatDate(d));
JS合并多个数组的三种方法:concat、spread与flat
2026-11-05 17:39:45
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
