JavaScript 提供了多种与时间和日期相关的方法,这些方法主要包含在 Date 对象中。以下是一些常用的 Date 对象方法和属性:
构造方法
new Date(): 创建一个新的日期对象,如果省略参数,则根据当前日期和时间来初始化。new Date(value): 根据提供的日期时间戳(毫秒为单位)初始化。new Date(dateString): 根据提供的日期时间字符串初始化。new Date(year, monthIndex[, day[, hour[, minutes[, seconds[, milliseconds]]]]]): 根据提供的参数初始化。
属性
Date.prototype.getFullYear(): 返回日期的年份(四位数)。Date.prototype.getMonth(): 返回日期的月份(0-11)。Date.prototype.getDate(): 返回日期的天数(1-31)。Date.prototype.getHours(): 返回日期的小时数(0-23)。Date.prototype.getMinutes(): 返回日期的分钟数(0-59)。Date.prototype.getSeconds(): 返回日期的秒数(0-59)。Date.prototype.getMilliseconds(): 返回日期的毫秒数(0-999)。Date.prototype.getDay(): 返回日期的星期几(0-6,其中 0 表示星期日)。Date.prototype.getTime(): 返回日期时间的数值表示,即从1970年1月1日00:00:00 UTC至现在的毫秒数。
方法
Date.prototype.setFullYear(year[, month[, day]]): 设置日期的年份。Date.prototype.setMonth(monthIndex[, day]): 设置日期的月份。Date.prototype.setDate(day): 设置日期的天数。Date.prototype.setHours(hour[, min[, sec[, ms]]]): 设置日期的小时数。Date.prototype.setMinutes(min[, sec[, ms]]): 设置日期的分钟数。Date.prototype.setSeconds(sec[, ms]): 设置日期的秒数。Date.prototype.setMilliseconds(ms): 设置日期的毫秒数。Date.prototype.setTime(time): 设置日期时间的数值表示。
日期格式化
JavaScript 本身并没有直接提供日期格式化的方法,但你可以使用 Date 对象的各个方法来手动格式化日期。例如:
javascript复制代码
const date = new Date(); |
|
const year = date.getFullYear(); |
|
const month = (1 + date.getMonth()).toString().padStart(2, '0'); |
|
const day = date.getDate().toString().padStart(2, '0'); |
|
const formattedDate = `${year}-${month}-${day}`; |
|
console.log(formattedDate); // 输出类似 "2023-03-25" |
时间戳转换
Date.now(): 返回当前时间的数值表示(毫秒为单位)。Date.parse(dateString): 解析一个日期时间字符串,并返回其数值表示(毫秒为单位)。Date.UTC(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]): 返回从1970年1月1日00:00:00 UTC到指定日期的毫秒数。
时区处理
JavaScript 的 Date 对象是基于本地时区的。对于需要处理不同时区的应用,可能需要借助第三方库(如 Moment.js 或 Date-fns 等)来进行更复杂的日期和时间操作。
示例
javascript复制代码
const now = new Date(); |
|
console.log(now.toString()); // 输出当前日期和时间 |
|
console.log(now.toLocaleString()); // 输出本地化的日期和时间 |
记住,日期和时间的处理可能会因浏览器的实现和本地时区设置的不同而有所差异。在涉及日期和时间的复杂逻辑时,务必进行充分的测试,以确保跨平台和跨浏览器的兼容性。