JavaScript Date时间对象的常用操作方法总结

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中灵活地处理各种日期和时间操作了。

相关推荐
温宇飞4 小时前
JavaScript 异常处理
前端
小岛前端4 小时前
🔥Vue3 移动端组件精选!满足各种场景!
前端·vue.js·微信小程序
用户1510581047434 小时前
带leading和trailing的防抖和节流
前端
IT小哥哥呀4 小时前
论文见解:REACT:在语言模型中协同推理和行动
前端·人工智能·react.js·语言模型
一枚前端小能手4 小时前
🚫 请求取消还在用flag?AbortController让你的异步操作更优雅
前端·javascript
JohnYan4 小时前
工作笔记 - VSCode ssh远程开发
javascript·ssh·visual studio code
code_YuJun4 小时前
前端脚手架开发流程
前端
golang学习记4 小时前
从0死磕全栈之使用 VS Code 调试 Next.js 应用完整指南
前端
shayudiandian4 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化