当前位置:首页 > JavaScript

js实现date

2026-03-15 07:43:33JavaScript

日期对象创建

使用 new Date() 创建当前日期对象:

const currentDate = new Date();

指定日期创建(年月日时分秒):

const specificDate = new Date(2023, 11, 31, 23, 59, 59); // 月份从0开始(11代表12月)

通过字符串解析日期:

const dateFromString = new Date("2023-12-31T23:59:59");

日期获取与设置

获取日期组件:

js实现date

const year = currentDate.getFullYear(); // 年份
const month = currentDate.getMonth();   // 月份(0-11)
const day = currentDate.getDate();      // 当月第几天
const hours = currentDate.getHours();   // 小时

设置日期组件:

currentDate.setFullYear(2024);
currentDate.setMonth(0); // 设置为1月

日期格式化

转换为本地字符串:

const dateString = currentDate.toLocaleDateString(); // "2023/12/31"
const timeString = currentDate.toLocaleTimeString(); // "23:59:59"

自定义格式化(使用 Intl.DateTimeFormat):

js实现date

const formatter = new Intl.DateTimeFormat('en-US', { 
  year: 'numeric', 
  month: 'short' 
});
console.log(formatter.format(currentDate)); // "Dec 2023"

日期计算

时间差计算(毫秒):

const date1 = new Date(2023, 0, 1);
const date2 = new Date(2023, 11, 31);
const diffInMs = date2 - date1; // 差值毫秒数
const diffInDays = diffInMs / (1000 * 60 * 60 * 24); // 转换为天数

添加/减少时间:

currentDate.setDate(currentDate.getDate() + 7); // 增加7天

第三方库推荐

处理复杂日期操作可使用以下库:

  • Moment.js(已停止维护,但广泛使用):
    moment().add(1, 'weeks').format('YYYY-MM-DD');
  • date-fns(轻量模块化):
    import { addDays, format } from 'date-fns';
    format(addDays(new Date(), 7), 'yyyy-MM-dd');

注意事项

  • 月份范围是 0-11(0表示1月)。
  • 时区问题需注意,getHours() 返回本地时区小时数。
  • 跨浏览器解析日期字符串时建议使用 YYYY-MM-DD 格式。

标签: jsdate
分享给朋友:

相关文章

js实现全选

js实现全选

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

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…