本文介绍在JavaScript中将年月日转换为Unix时间戳的两种常见方法:通过Date构造器解析日期字符串,以及分别设置年、月、日数值。重点说明月份从0开始的特性、ISO 8601格式推荐及毫秒与秒的转换,帮助开发者准确获取时间戳。
在JavaScript里,把年月日(通常表现为字符串或独立的年、月、日数值)转换成时间戳(即Unix时间戳,指自1970年1月1日UTC午夜起经过的秒数,忽略闰秒)有多种途径。以下是几种常用方案:
利用Date对象配合getTime()函数
若拥有表示年月日的字符串(比如"2023-04-01"),可通过new Date()构造函数生成Date实例,随后调用getTime()函数以提取时间戳。
let dateString = "2023-04-01";
let date = new Date(dateString);
let timestamp = date.getTime();
console.log(timestamp); // 输出时间戳,例如 1679836800000利用Date对象分别指定年、月、日
若持有年、月、日的独立数值(例如年=2023,月=4,日=1),可实例化Date实例,并通过设定月份(注意月份索引从0开始,0代表1月)构建日期,接着同样调用getTime()函数。
let year = 2023;
let month = 4 - 1; // 月份从0开始
let day = 1;
let date = new Date(year, month, day);
let timestamp = date.getTime();
console.log(timestamp); // 输出时间戳关键注意点
- 处理月份时,务必牢记JavaScript中月份索引从0开始(即0对应一月,1对应二月,以此类推)。
Date实例能接收多种格式的字符串作为参数,但推荐采用ISO 8601格式(如"YYYY-MM-DD"),因其在多数现代浏览器中均可被准确解析。- 时间戳以毫秒为单位,若需获取秒级时间戳(如Unix时间戳),则需将所得时间戳数值除以1000。
let timestampInSeconds = Math.floor(timestamp / 1000);
console.log(timestampInSeconds); // 输出秒为单位的时间戳借助上述方法,即可便捷地在JavaScript中将年月日转换为时间戳。
至此,关于JS如何将年月日转换为时间戳的教程已结束,更多相关js年月日转时间戳内容可查阅本站往期文章或继续阅读下文相关文章,望大家日后继续支持本站!