JavaScript 时间对象的操作方法
JavaScript的Date对象提供了丰富的方法来操作日期和时间。以下是主要的操作方法分类:
创建Date对象
javascript
new Date() // 当前日期和时间
new Date(milliseconds) // 自1970-01-01 00:00:00 UTC起经过的毫秒数
new Date(dateString) // 解析日期字符串
new Date(year, month, day, hours, minutes, seconds, ms)
获取时间方法
javascript
let date = new Date();
date.getFullYear() // 获取年份(4位数)
date.getMonth() // 获取月份(0-11)
date.getDate() // 获取日(1-31)
date.getDay() // 获取星期(0-6, 0表示周日)
date.getHours() // 获取小时(0-23)
date.getMinutes() // 获取分钟(0-59)
date.getSeconds() // 获取秒(0-59)
date.getMilliseconds() // 获取毫秒(0-999)
date.getTime() // 获取时间戳(毫秒数,从1970-1-1)
date.getTimezoneOffset() // 获取UTC与本地时区差异,以分钟为单位
UTC时间获取方法(世界时)
javascript
date.getUTCFullYear()
date.getUTCMonth()
date.getUTCDate()
date.getUTCDay()
date.getUTCHours()
date.getUTCMinutes()
date.getUTCSeconds()
date.getUTCMilliseconds()
设置时间方法
javascript
date.setFullYear(year [, month, day])
date.setMonth(month [, day])
date.setDate(day)
date.setHours(hour [, min, sec, ms])
date.setMinutes(min [, sec, ms])
date.setSeconds(sec [, ms])
date.setMilliseconds(ms)
date.setTime(milliseconds) // 从1970-1-1 00:00:00 UTC开始计算的毫秒数
UTC时间设置方法
javascript
date.setUTCFullYear(year [, month, day])
date.setUTCMonth(month [, day])
date.setUTCDate(day)
date.setUTCHours(hour [, min, sec, ms])
date.setUTCMinutes(min [, sec, ms])
date.setUTCSeconds(sec [, ms])
date.setUTCMilliseconds(ms)
其他常用方法
javascript
date.toString() // 返回完整日期时间字符串
date.toDateString() // 返回日期部分的字符串
date.toTimeString() // 返回时间部分的字符串
date.toLocaleString() // 返回本地格式的日期时间字符串
date.toLocaleDateString()
date.toLocaleTimeString()
date.toUTCString() // 返回UTC时间字符串
date.toISOString() // 返回ISO 8601格式字符串 (YYYY-MM-DDTHH:mm:ss.sssZ)
date.valueOf() // 返回时间戳,等同于date.getTime()
示例用法
javascript
let now = new Date();
// 获取本月最后一天
let nextMonthFirstDay = new Date(now.getFullYear(), now.getMonth() + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 1);
// 计算两个日期差值
let date1 = new Date(2023, 0, 1);
let date2 = new Date();
let diffInDays = Math.floor((date2 - date1) / (1000 * 60 * 60 * 24));
// 格式化日期
function formatDate(date) {
return [
date.getFullYear(),
(date.getMonth() + 1).toString().padStart(2, '0'),
date.getDate().toString().padStart(2, '0')
].join('-');
}
日常工作中,熟练掌握了这些方法,你就可以在JavaScript中灵活地处理各种日期和时间操作了。