目录
Date 对象
1. 获取当前时间
2. 获取特定日期时间
Date 对象的方法
1. 获取各种日期时间组件
2. 获取星期几
3. 获取时间戳
格式化日期时间
1. 使用 toLocaleString() 方法
2. 使用第三方库
UNIX 时间戳
内部表示
时区
Date 对象
JavaScript中内置的 Date
对象可以用来操作日期和时间。
1. 获取当前时间
使用 new Date()
来获取当前时间:
const currentDate = new Date();
console.log(currentDate);
2. 获取特定日期时间
可以使用 new Date()
并传入特定的年、月、日、时、分、秒等参数来获取特定的日期时间:
const specificDate = new Date(2023, 10, 23, 12, 30, 0);
console.log(specificDate);
Date 对象的方法
1. 获取各种日期时间组件
Date
对象提供了多种方法用来获取年、月、日、时、分、秒等各种日期时间组件:
const date = new Date();
const year = date.getFullYear(); // 年份
const month = date.getMonth(); // 月份(注意:返回值是 0-11)
const day = date.getDate(); // 日期
const hours = date.getHours(); // 小时
const minutes = date.getMinutes(); // 分钟
const seconds = date.getSeconds(); // 秒数
const milliseconds = date.getMilliseconds(); // 毫秒数
2. 获取星期几
Date
对象的 getDay()
方法可以获取星期几(0 表示星期日,1 表示星期一,以此类推):
const dayOfWeek = date.getDay(); // 星期几
3. 获取时间戳
Date
对象的 getTime()
方法可以获取当前时间的时间戳,即从 1970 年 1 月 1 日 00:00:00 UTC(世界标准时间)到现在的毫秒数:
const timestamp = date.getTime(); // 时间戳
格式化日期时间
1. 使用 toLocaleString()
方法
toLocaleString()
方法可以将日期时间转换为特定地区的本地时间字符串:
const localDateTimeString = date.toLocaleString(); // 当地时间字符串
2. 使用第三方库
为了更灵活地格式化日期时间,可以使用第三方库,比如 moment.js
:
const formattedDateTime = moment(date).format('YYYY-MM-DD HH:mm:ss'); // 格式化后的时间字符串
UNIX 时间戳
UNIX 时间戳是指从 UNIX 纪元开始至现在的总秒数或毫秒数,这是计算机系统中广泛使用的一种时间表示方法。在 JavaScript 中,Date
对象的 getTime()
方法返回的就是 UNIX 时间戳(毫秒数)。
const date = new Date();
const timestamp = date.getTime(); // 获取当前时间的时间戳(毫秒数)
内部表示
Date
对象在内部以自 UNIX 纪元以来的毫秒数来表示时间。它存储的值是一个表示指定日期的 64 位整数。
当你创建一个 Date
对象时,它会获取当前的系统时间,并将其以毫秒数形式存储。Date
对象提供了方法来访问和操作年、月、日、时、分、秒等不同的时间组成部分,但其内部实现是基于毫秒数的。
时区
需要注意的是,Date
对象默认使用的时区是浏览器所在地的本地时区。这意味着获取到的时间可能会受到时区影响而发生变化。可以使用 getTimezoneOffset()
方法来获取当前时区和 UTC 时间之间的分钟差值。
const timeZoneOffset = new Date().getTimezoneOffset(); // 获取当前时区和 UTC 时间之间的分钟差值
Date
对象在 JavaScript 中是基于内部的毫秒数表示时间的,但它也受到浏览器或运行环境的时区设置的影响。