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

 更新时间:2025年10月21日 08:27:16   作者:Codery编程师  
本文介绍了JavaScript中Date对象的常用操作方法,包括创建、获取、设置本地及UTC时间等,帮助开发者灵活处理日期与时间的相关需求,需要的朋友可以参考下

JavaScript 时间对象的操作方法

JavaScript的Date对象提供了丰富的方法来操作日期和时间。以下是主要的操作方法分类:

创建Date对象

new Date()                      // 当前日期和时间
new Date(milliseconds)          // 自1970-01-01 00:00:00 UTC起经过的毫秒数
new Date(dateString)            // 解析日期字符串
new Date(year, month, day, hours, minutes, seconds, ms)

获取时间方法

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时间获取方法(世界时)

date.getUTCFullYear()
date.getUTCMonth()
date.getUTCDate()
date.getUTCDay()
date.getUTCHours()
date.getUTCMinutes()
date.getUTCSeconds()
date.getUTCMilliseconds()

设置时间方法

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时间设置方法

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)

其他常用方法

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()

示例用法

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

到此这篇关于JavaScript Date时间对象的常用操作方法总结的文章就介绍到这了,更多相关JavaScript Date时间对象操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot实现对静态资源的访问权限控制的三种方案

    SpringBoot实现对静态资源的访问权限控制的三种方案

    在日常的 Spring Boot 开发中,我们通常会使用安全认证、授权手段来保护后端的 RESTful API,确保只有认证和授权的用户才能访问,所以本文就给大家介绍SpringBoot中如何实现对静态资源的访问权限控制,需要的朋友可以参考下
    2025-09-09
  • java通过Arrays.sort(int[] a)实现由大到小排序的方法实现

    java通过Arrays.sort(int[] a)实现由大到小排序的方法实现

    Java中的Arrays.sort()方法是一种内置的排序方法,用于对数组进行排序,本文就来介绍一下java中的Arrays.sort()排序方法的用法,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 聊聊Arrays.deepToString()和Arrays.toString()的区别

    聊聊Arrays.deepToString()和Arrays.toString()的区别

    这篇文章主要介绍了聊聊Arrays.deepToString()和Arrays.toString()的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Java的函数式接口@FunctionalInterface的使用说明

    Java的函数式接口@FunctionalInterface的使用说明

    这篇文章主要介绍了Java的函数式接口@FunctionalInterface的使用说明,我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解,需要的朋友可以参考下
    2024-01-01
  • mybatis连接mysql的实现过程

    mybatis连接mysql的实现过程

    通过配置Maven的pom文件,可以简化MyBatis连接数据库的过程,免去手动下载和导入各种依赖包的麻烦,本文介绍了如何利用Maven导入MyBatis及其他相关依赖,如Junit、MySQL连接驱动、Druid连接池和Dbutil等,以简化数据库操作和测试
    2024-10-10
  • SpringBoot使用Nacos配置中心的实现

    SpringBoot使用Nacos配置中心的实现

    这篇文章主要介绍了SpringBoot使用Nacos配置中心的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • SpringBoot如何配置CROS Filter

    SpringBoot如何配置CROS Filter

    这篇文章主要介绍了SpringBoot如何配置CROS Filter问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java基础学习之IO流应用案例详解

    Java基础学习之IO流应用案例详解

    这篇文章主要为大家详细介绍了Java IO流的三个应用案例:点名器、集合到文件和文件到集合,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-09-09
  • Windows安装两个或多个JDK并实现自由切换的方法

    Windows安装两个或多个JDK并实现自由切换的方法

    最近新接手一个项目,启动的时候,发现有些jar和现在正在使用的JDK版本不一致,一直启动有问题,想着就多装一个JDK,由于为了保证java的运行环境和编译环境保持一致,就需要我们设置jdk的环境变量,所以本文给大家介绍了Windows安装两个或多个JDK并实现自由切换的方法
    2025-03-03
  • Idea的Generate Sources无法生成QueryDSL问题及解决方法

    Idea的Generate Sources无法生成QueryDSL问题及解决方法

    这篇文章主要介绍了解决Idea的Generate Sources无法生成QueryDSL问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论