首页 > web前端 > js教程 > JavaScript 日期对象备忘单

JavaScript 日期对象备忘单

DDD
发布: 2024-12-01 19:03:12
原创
352 人浏览过

JavaScript Date Object Cheatsheet

JavaScript 中的 Date 对象 用于处理日期和时间。它提供了创建、操作和格式化日期和时间值的方法。


创建日期

您可以通过多种方式创建 Date 对象:

  1. 当前日期和时间
   const now = new Date();
   console.log(now); // Current date and time
登录后复制
登录后复制
  1. 具体日期
   const specificDate = new Date(2024, 10, 21); // Year, Month (0-based), Day
   console.log(specificDate); // Thu Nov 21 2024
登录后复制
登录后复制
  1. 来自字符串
   const fromString = new Date("2024-11-21T10:00:00");
   console.log(fromString); // Thu Nov 21 2024 10:00:00 GMT
登录后复制
登录后复制
  1. 来自时间戳(自 Unix 纪元以来的毫秒数):
   const fromTimestamp = new Date(1732231200000);
   console.log(fromTimestamp); // Thu Nov 21 2024 10:00:00 GMT
登录后复制
登录后复制

常用方法

获取日期和时间

Method Description Example
getFullYear() Returns the year date.getFullYear() -> 2024
getMonth() Returns the month (0-11) date.getMonth() -> 10 (November)
getDate() Returns the day of the month (1-31) date.getDate() -> 21
getDay() Returns the weekday (0-6, Sun=0) date.getDay() -> 4 (Thursday)
getHours() Returns the hour (0-23) date.getHours() -> 10
getMinutes() Returns the minutes (0-59) date.getMinutes() -> 0
getSeconds() Returns the seconds (0-59) date.getSeconds() -> 0
getTime() Returns timestamp in milliseconds date.getTime() -> 1732231200000
方法
描述

示例 标题> getFullYear() 返回年份 date.getFullYear() ->; 2024年 获取月份() 返回月份(0-11) 日期.getMonth() -> 10(十一月) 获取日期() 返回月份中的第几天 (1-31) 日期.getDate() -> 21 getDay() 返回工作日(0-6,Sun=0) 日期.getDay() -> 4(星期四) getHours() 返回小时 (0-23) 日期.getHours() -> 10 getMinutes() 返回分钟 (0-59) date.getMinutes() ->; 0 getSeconds() 返回秒(0-59) date.getSeconds() ->; 0 获取时间() 返回时间戳(以毫秒为单位) 日期.getTime() -> 1732231200000 表>
Method Description Example
setFullYear(year) Sets the year date.setFullYear(2025)
setMonth(month) Sets the month (0-11) date.setMonth(0) -> January
setDate(day) Sets the day of the month date.setDate(1) -> First day of the month
setHours(hour) Sets the hour (0-23) date.setHours(12)
setMinutes(minutes) Sets the minutes (0-59) date.setMinutes(30)
setSeconds(seconds) Sets the seconds (0-59) date.setSeconds(45)
设置日期和时间 方法 描述 示例 标题> setFullYear(年) 设置年份 日期.setFullYear(2025) 设置月份(月) 设置月份(0-11) 日期.setMonth(0) ->一月 设置日期(天) 设置月份中的日期 日期.setDate(1) ->该月的第一天 setHours(小时) 设置小时(0-23) 日期.setHours(12) setMinutes(分钟) 设置分钟(0-59) 日期.setMinutes(30) setSeconds(秒) 设置秒(0-59) 日期.setSeconds(45) 表>

格式化日期

Method Description Example
toDateString() Returns date as a human-readable string date.toDateString() -> "Thu Nov 21 2024"
toISOString() Returns date in ISO format date.toISOString() -> "2024-11-21T10:00:00.000Z"
toLocaleDateString() Returns date in localized format date.toLocaleDateString() -> "11/21/2024"
toLocaleTimeString() Returns time in localized format date.toLocaleTimeString() -> "10:00:00 AM"
方法
描述

示例 标题> toDateString() 以人类可读的字符串形式返回日期 date.toDateString() ->; “2024 年 11 月 21 日星期四” toISOString() 返回 ISO 格式的日期 date.toISOString() ->; “2024-11-21T10:00:00.000Z” toLocaleDateString() 以本地化格式返回日期 date.toLocaleDateString() ->; “2024 年 11 月 21 日” toLocaleTimeString() 以本地化格式返回时间 date.toLocaleTimeString() ->; “上午 10:00:00” 表>
  1. 常见用例
   const now = new Date();
   console.log(now); // Current date and time
登录后复制
登录后复制
    计算两个日期之间的天数
   const specificDate = new Date(2024, 10, 21); // Year, Month (0-based), Day
   console.log(specificDate); // Thu Nov 21 2024
登录后复制
登录后复制
    倒计时器
   const fromString = new Date("2024-11-21T10:00:00");
   console.log(fromString); // Thu Nov 21 2024 10:00:00 GMT
登录后复制
登录后复制
    格式化当前日期
   const fromTimestamp = new Date(1732231200000);
   console.log(fromTimestamp); // Thu Nov 21 2024 10:00:00 GMT
登录后复制
登录后复制
    查找一周中的哪一天
   const startDate = new Date("2024-11-01");
   const endDate = new Date("2024-11-21");
   const diffInTime = endDate - startDate; // Difference in milliseconds
   const diffInDays = diffInTime / (1000 * 60 * 60 * 24); // Convert to days
   console.log(diffInDays); // 20
登录后复制
    检查闰年
   const targetDate = new Date("2024-12-31T23:59:59");
   setInterval(() => {
       const now = new Date();
       const timeLeft = targetDate - now; // Milliseconds left
       const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
       const hours = Math.floor((timeLeft / (1000 * 60 * 60)) % 24);
       const minutes = Math.floor((timeLeft / (1000 * 60)) % 60);
       const seconds = Math.floor((timeLeft / 1000) % 60);
       console.log(`${days}d ${hours}h ${minutes}m ${seconds}s`);
   }, 1000);
登录后复制

加/减天数

  1. 专业提示
   const now = new Date();
   const formatted = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}`;
   console.log(formatted); // "2024-11-21"
登录后复制
使用
    Date.now()
  1. 直接获取当前时间戳,无需创建 Date 对象:

    处理跨区域的日期时请注意时区

    。使用
  2. Moment.js
  3. Day.js 等库进行高级处理。

为了避免月份相差一的错误,请记住月份是
0 索引
(0 = 一月,11 = 十二月)。

以上是JavaScript 日期对象备忘单的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板