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 中是基于内部的毫秒数表示时间的,但它也受到浏览器或运行环境的时区设置的影响。