日期对象|Data对象

Date 对象

JavaScript 没有日期数据类型。但是你可以在你的程序里使用 Date 对象和其方法来处理日期和时间。
Date 对象有大量的设置、获取和操作日期的方法。它并不含有任何属性。
JavaScript 处理日期数据类似于 Java。这两种语言有许多一样的处理日期的方法,也都是以 1970 年 1 月 1 日 00:00:00 以来的毫秒数来储存数据类型的。
Date 对象的范围是相对距离 UTC 1970 年 1 月 1 日 的前后 100,000,000 天。

创建日期对象

// 当前日期和时间
const now = new Date();

// 指定日期和时间
const specificDate = new Date('2024-07-21T12:30:00');

// 使用年、月、日、时、分、秒、毫秒来创建日期
const anotherDate = new Date(2024, 6, 21, 12, 30, 0, 0); // 月份是从0开始的,6表示7月
const anotherDate1 = new Date(2024, 6, 21); // 月份是从0开始的,6表示7月

ISO 8601 时间标准

ISO 8601 是一种国际标准,用于表示日期和时间。它提供了一种标准化的日期和时间表示法,确保在不同系统和地区之间的一致性。
日期和时间基本格式 :

  • YYYY-MM-DDTHH:mm:ss(年-月-日T时:分:秒)
  • 例如:2024-07-21T12:30:00

更多:
https://blog.csdn.net/sgx1825192/article/details/136917538

Date 对象的方法

处理日期时间的 Date 对象方法可分为以下几类:

  • “set” 方法,用于设置 Date 对象的日期和时间的值。
  • “get” 方法,用于获取 Date 对象的日期和时间的值。
  • “to” 方法,用于返回 Date 对象的字符串格式的值。
  • parse 和 UTC 方法,用于解析 Date 字符串。

设置日期和时间

now.setFullYear(2025); // 设置年份为2025
now.setMonth(5); // 设置月份为6月(月份从0开始)
now.setDate(15); // 设置日期为15号
now.setHours(10); // 设置小时为10点
now.setMinutes(45); // 设置分钟为45分
now.setSeconds(30); // 设置秒为30秒
now.setMilliseconds(500); // 设置毫秒为500毫秒

获取日期和时间

const year = now.getFullYear(); // 年份
const month = now.getMonth(); // 月份,从0开始(0表示1月,11表示12月)
const date = now.getDate(); // 日期(几号)
const day = now.getDay(); // 星期几,0表示星期天,1表示星期一,以此类推
const hours = now.getHours(); // 小时
const minutes = now.getMinutes(); // 分钟
const seconds = now.getSeconds(); // 秒
const milliseconds = now.getMilliseconds(); // 毫秒

日期格式化

// 转换为ISO格式字符串
const isoString = now.toISOString(); //2024-07-21T06:16:52.899Z

// 转换为本地日期字符串
const localDateString = now.toLocaleDateString(); //2024/7/21

// 转换为本地时间字符串
const localTimeString = now.toLocaleTimeString(); //14:16:52

// 转换为本地日期和时间字符串
const localString = now.toLocaleString();  //2024/7/21 14:16:18

日期字符串解析

Date.parse() 是 JavaScript 中用于解析日期字符串并返回自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。它是静态方法,所以应该使用 Date 对象本身来调用它,而不是一个日期实例。

// 解析符合 ISO 8601 格式的日期字符串
const dateString1 = "2024-07-21T12:30:00Z";
const milliseconds1 = Date.parse(dateString1);
console.log(milliseconds1); // 输出类似 1729168200000

// 解析本地日期和时间字符串
const dateString2 = "July 21, 2024 12:30:00";
const milliseconds2 = Date.parse(dateString2);
console.log(milliseconds2); // 输出类似 1729168200000

// 解析无效日期字符串
const invalidDateString = "invalid date string";
const milliseconds3 = Date.parse(invalidDateString);
console.log(milliseconds3); // 输出 NaN

日期计算

// 加1天
const tomorrow = new Date();
tomorrow.setDate(now.getDate() + 1);

// 计算两个日期之间的差值(以毫秒为单位)
const differenceInMilliseconds = specificDate - now;
const differenceInDays = differenceInMilliseconds / (1000 * 60 * 60 * 24); // 转换为天

参考资料:
数字和日期 - JavaScript | MDN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值