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

相关推荐
im_AMBER1 天前
React 15
前端·javascript·笔记·学习·react.js·前端框架
How_doyou_do1 天前
模态框的两种管理思路
java·服务器·前端
snow@li1 天前
前端:前端/浏览器 可以录屏吗 / 实践 / 录制 Microsoft Edge 标签页、应用窗口、整个屏幕
前端·浏览器录屏·前端录屏·web录屏
李贺梖梖1 天前
CSS学习
前端·css
蚂小蚁1 天前
一文吃透:宏任务、微任务、事件循环、浏览器渲染、Vue 批处理与 Node 差异(含性能优化)
前端·面试·架构
狼性书生1 天前
uniapp实现的Tab 选项卡组件模板
前端·uni-app·vue·组件·插件
吃饺子不吃馅1 天前
前端画布类型编辑器项目,历史记录技术方案调研
前端·架构·github
许___1 天前
el-table多选模式下跨分页保留当前页选项
javascript·vue.js
拜晨1 天前
使用motion实现小宇宙贴纸墙效果
前端·交互设计