当前位置:首页 > JavaScript

js date实现

2026-02-01 09:52:52JavaScript

获取当前日期和时间

使用 new Date() 创建日期对象,默认返回当前日期和时间:

const now = new Date();
console.log(now); // 输出当前日期和时间(如:2023-09-20T08:30:00.000Z)

创建指定日期

通过传递年、月、日等参数创建特定日期(月份从0开始,0表示1月):

const specificDate = new Date(2023, 8, 20); // 2023年9月20日
console.log(specificDate); // 2023-09-20T00:00:00.000Z

解析日期字符串

支持ISO 8601格式(如 YYYY-MM-DD)或其他标准格式:

js date实现

const dateFromString = new Date("2023-09-20");
console.log(dateFromString); // 2023-09-20T00:00:00.000Z

获取日期组件

通过方法获取年、月、日、星期等:

const date = new Date();
const year = date.getFullYear(); // 2023
const month = date.getMonth() + 1; // 9(月份需+1)
const day = date.getDate(); // 20
const dayOfWeek = date.getDay(); // 3(星期三,0为星期日)

设置日期组件

使用 setFullYearsetMonth 等方法修改日期:

js date实现

const date = new Date();
date.setFullYear(2024);
date.setMonth(11); // 设置为12月
console.log(date); // 2024-12-20T08:30:00.000Z

格式化日期为字符串

使用 toLocaleDateString 或自定义格式化:

const date = new Date();
console.log(date.toLocaleDateString("zh-CN")); // 2023/9/20
console.log(`${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`); // 2023-9-20

计算日期差值

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

const date1 = new Date(2023, 8, 1);
const date2 = new Date(2023, 8, 20);
const diffDays = (date2 - date1) / (1000 * 60 * 60 * 24);
console.log(diffDays); // 19

处理时区问题

使用 getTimezoneOffset 获取本地时区偏移(分钟):

const offset = new Date().getTimezoneOffset() / 60;
console.log(`UTC偏移:${offset}小时`); // 如 -8(东八区)

注意事项

  • 月份范围是0-11,实际月份需加1。
  • 日期对象是可变的,直接修改会影响原对象。
  • 跨浏览器解析字符串时建议使用ISO格式(YYYY-MM-DD)。

标签: jsdate
分享给朋友:

相关文章

js实现分页

js实现分页

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

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

链表实现js

链表实现js

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

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…