当前位置:首页 > 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(),可以将符合格式的字符串转为日期对象。

js实现日期

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)实现更复杂的操作。

js实现日期

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} 分钟`);

第三方库推荐

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

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

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

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Paren…