HLJ 发布于
2025-06-11 09:55:22
0阅读

JavaScript 日期和时间处理

上一篇文章:

JavaScript 解构赋值

JavaScript 日期和时间处理

JavaScript 提供了 Date 对象来处理日期和时间。以下是关于 JavaScript 日期和时间的主要知识点:

创建日期对象

// 当前日期和时间
const now = new Date();

// 指定日期和时间
const specificDate = new Date(2023, 11, 31, 23, 59, 59); // 年月日时分秒(月份从0开始)

// 从字符串创建
const fromString = new Date("December 31, 2023 23:59:59");

// 从时间戳创建
const fromTimestamp = new Date(1672531199000);

获取日期组件

const 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日以来的毫秒数)

设置日期组件

const date = new Date();

date.setFullYear(2024);
date.setMonth(0);      // 一月
date.setDate(15);
date.setHours(12);
date.setMinutes(30);
date.setSeconds(0);
date.setMilliseconds(0);

日期格式化

const date = new Date();

// 转换为本地字符串
date.toLocaleString();      // "2023/12/31 23:59:59"
date.toLocaleDateString();  // "2023/12/31"
date.toLocaleTimeString();  // "23:59:59"

// ISO格式
date.toISOString();        // "2023-12-31T15:59:59.000Z"

// 其他格式
date.toString();           // "Sun Dec 31 2023 23:59:59 GMT+0800 (中国标准时间)"
date.toUTCString();        // "Sun, 31 Dec 2023 15:59:59 GMT"

日期运算

// 比较日期
const date1 = new Date(2023, 0, 1);
const date2 = new Date(2023, 0, 2);
console.log(date1 < date2); // true

// 日期差值(毫秒)
const diff = date2 - date1;
console.log(diff / (1000 * 60 * 60 * 24)); // 1(天)

// 添加天数
function addDays(date, days) {
  const result = new Date(date);
  result.setDate(result.getDate() + days);
  return result;
}

实用函数

// 计算两个日期之间的天数差
function dayDiff(date1, date2) {
  return Math.abs(date1 - date2) / (1000 * 60 * 60 * 24);
}

// 检查是否是闰年
function isLeapYear(year) {
  return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}

// 获取月份的天数
function getDaysInMonth(year, month) {
  return new Date(year, month + 1, 0).getDate();
}

第三方库

对于更复杂的日期操作,可以考虑使用第三方库:

  • Moment.js(已不再推荐用于新项目)
  • date-fns(模块化,推荐)
  • Day.js(轻量级,Moment.js的替代品)

时区处理

// 获取当前时区偏移(分钟)
const timezoneOffset = new Date().getTimezoneOffset();

// 转换为特定时区的时间
function toTimeZone(date, timeZone) {
  return new Date(date.toLocaleString("en-US", { timeZone }));
}

JavaScript 的 Date 对象提供了基本的日期和时间功能,但对于复杂的日期操作,使用专门的库通常会更方便和可靠。

当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2025-06-11/800.html
最后生成于 2025-06-13 20:52:54
上一篇文章:

JavaScript 解构赋值

此内容有帮助 ?
0