当前位置:首页 > JavaScript

js 实现日期

2026-02-02 11:04:38JavaScript

在 JavaScript 中实现日期操作可以通过多种方式完成,以下是常见的方法和示例:

获取当前日期和时间

使用 Date 对象获取当前日期和时间:

const currentDate = new Date();
console.log(currentDate); // 输出当前日期和时间(如:Mon Jan 01 2024 12:00:00 GMT+0800)

创建指定日期

通过传递年、月、日等参数创建指定日期:

const specificDate = new Date(2024, 0, 1); // 月份从0开始(0表示1月)
console.log(specificDate); // 输出:Mon Jan 01 2024 00:00: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/01/01

计算日期差

通过时间戳计算日期差(单位:毫秒):

const date1 = new Date(2024, 0, 1);
const date2 = new Date(2024, 0, 10);
const diffInMs = date2 - date1; // 时间戳差值
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
console.log(diffInDays); // 输出:9

日期加减

使用 setDate 或时间戳操作实现日期加减:

const date = new Date();
date.setDate(date.getDate() + 7); // 加7天
console.log(date.toLocaleDateString()); // 输出7天后的日期

第三方库推荐

对于复杂需求,可以使用第三方库如 moment.jsdate-fns

// 使用 date-fns 示例
import { format, addDays } from 'date-fns';
const today = new Date();
const nextWeek = addDays(today, 7);
console.log(format(nextWeek, 'yyyy-MM-dd')); // 输出:2024-01-08

注意事项

  • 月份从 0 开始(0 表示 1 月)。
  • 时区问题可能导致日期显示差异,建议使用 UTC 方法或明确时区处理。
  • 浏览器兼容性需考虑,尤其是旧版本浏览器。

js 实现日期

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

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现复制

js实现复制

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

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…