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

相关推荐
Greg_Zhong1 分钟前
Css知识之伪类和伪元素
前端·css
Mintopia2 分钟前
GPT-5.3-Codex 底层逻辑是什么,为什么编码强?
前端·人工智能·ai编程
Mintopia3 分钟前
Opus 模型凭什么收费贵,与其他模型对比理由是什么?
前端·人工智能
东东__net5 分钟前
js逆向与谷歌加密库
开发语言·前端·javascript
程序员小郭8313 分钟前
Spring Ai 05 ChatClient Advisor 实战(日志、提示词增强、内容安全)
java·开发语言·前端
m0_5027249513 分钟前
腾讯地图tlbs-multi-marker动态更新marker图标
前端·javascript·vue.js·地图
IT_陈寒18 分钟前
SpringBoot 项目启动慢?这5个优化技巧让你的应用快50%
前端·人工智能·后端
GISer_Jing27 分钟前
React核心语法:组件化与声明式编程
前端·react.js·前端框架
DJ斯特拉27 分钟前
文件上传(UUID防止重名文件&&阿里云实现云端上传&&MultipartFile接收前端文件)
前端
Alan Lu Pop32 分钟前
React 表单提交关键词意外触发刷新
前端·javascript·react.js