当前位置:首页 > JavaScript

js实现日期

2026-02-02 07:11:55JavaScript

获取当前日期

使用 new Date() 可以获取当前日期和时间。返回的对象包含年、月、日、时、分、秒等信息。

const currentDate = new Date();
console.log(currentDate); // 输出当前日期和时间(如:Wed Jun 05 2024 14:30:00 GMT+0800)

格式化日期为字符串

通过 toLocaleDateString() 或手动拼接日期组件,可以将日期格式化为易读的字符串。

const date = new Date();
const formattedDate = date.toLocaleDateString('zh-CN', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit'
});
console.log(formattedDate); // 输出 "2024/06/05"(中文格式)

// 手动拼接
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
console.log(`${year}-${month}-${day}`); // 输出 "2024-06-05"

解析字符串为日期

使用 Date.parse() 或直接传入字符串到 new Date(),可以将符合格式的字符串转为日期对象。

const dateStr = '2024-06-05';
const parsedDate = new Date(dateStr);
console.log(parsedDate); // 输出对应的日期对象

// 注意:不同浏览器对字符串格式的兼容性可能不同

计算日期差

通过时间戳(毫秒数)计算两个日期的差值,再转换为天数、小时等单位。

const date1 = new Date('2024-06-05');
const date2 = new Date('2024-06-10');
const diffMs = date2 - date1; // 差值(毫秒)
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
console.log(diffDays); // 输出 5

日期加减操作

直接修改日期对象的组件(如 setDate),或使用库(如 date-fns)实现更复杂的操作。

const date = new Date('2024-06-05');
date.setDate(date.getDate() + 7); // 加7天
console.log(date.toLocaleDateString()); // 输出 "2024/6/12"

// 使用 date-fns(需安装)
import { addDays } from 'date-fns';
const newDate = addDays(date, 7);
console.log(newDate);

时区处理

使用 toLocaleString 指定时区,或通过 getTimezoneOffset() 获取本地时区偏移量。

const date = new Date();
console.log(date.toLocaleString('en-US', { timeZone: 'America/New_York' }));

const offset = date.getTimezoneOffset(); // 分钟数
console.log(`本地时区偏移:${offset} 分钟`);

第三方库推荐

对于复杂需求,推荐使用以下库:

js实现日期

  • date-fns:轻量级、模块化。
  • Day.js:类似 Moment.js 但更小巧。
  • Luxon:支持时区和国际化。
// Day.js 示例
const dayjs = require('dayjs');
console.log(dayjs().format('YYYY-MM-DD'));

标签: 日期js
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…