带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(2)

简介: 带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(2)

带你读《现代Javascript高级教程》二十三、Date类:日期和时间处理(1)https://developer.aliyun.com/article/1349522?groupCode=tech_library


b 实现toISODate方法

Date.prototype.toISODate = function() {
  const year = this.getFullYear();
  const month = String(this.getMonth() + 1).padStart(2, '0');
  const day = String(this.getDate()).padStart(2, '0');
  return `year−{year}-{month}-${day}`;};
// 使用示例const date = new Date();const isoDate = date.toISODate();
console.log(isoDate);

2 计算两个日期之间的天数差

Date.prototype.getDaysDiff = function(otherDate) {
  const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数
  const diffInTime = Math.abs(this - otherDate);
  const diffInDays = Math.round(diffInTime / oneDay);
  return diffInDays;};
// 使用示例const date1 = new Date('2022-01-01');const date2 = new Date('2022-01-10');const daysDiff = date1.getDaysDiff(date2);
console.log(daysDiff); // 输出 9

3 获取当前月份的第一天和最后一天

Date.prototype.getFirstDayOfMonth = function() {
  const year = this.getFullYear();
  const month = this.getMonth();
  return new Date(year, month, 1);};
Date.prototype.getLastDayOfMonth = function() {
  const year = this.getFullYear();
  const month = this.getMonth() + 1;
  return new Date(year, month, 0);};
// 使用示例const date = new Date();const firstDayOfMonth = date.getFirstDayOfMonth();const lastDayOfMonth = date.getLastDayOfMonth();
console.log(firstDayOfMonth);
console.log(lastDayOfMonth);
  1. 总结

本文介绍了Date类的属性、应用场景,并提供了一些常用的Date方法的实现代码示例。Date类在JavaScript中用于处理日期和时间相关的操作非常重要,掌握其基本用法能够帮助我们更好地处理和管理日期和时间。通过逐步学习和实践,我们可以在实际项目中灵活运用Date类,满足各种日期和时间处理的需求。

  1. 参考资料

 

相关文章
|
2天前
|
JavaScript 前端开发
js对比日期大小
js对比日期大小
7 1
|
8天前
|
JavaScript 前端开发
实现一个JavaScript动态日期功能
实现一个JavaScript动态日期功能
|
8天前
|
JavaScript 前端开发
JavaScript 日期对象
JavaScript 日期对象
|
18天前
|
存储 JavaScript 前端开发
JavaScript的数据类型主要分为两大类:基本数据类型和引用数据类型
【4月更文挑战第20天】JavaScript的数据类型主要分为两大类:基本数据类型和引用数据类型
21 6
|
21天前
|
JavaScript
【Js】检查Date对象是否为Invalid Date
【Js】检查Date对象是否为Invalid Date
28 0
|
24天前
|
JavaScript 前端开发
JavaScript高级主题:什么是 ES6 的解构赋值?
【4月更文挑战第13天】ES6的解构赋值语法简化了从数组和对象中提取值的过程,提高代码可读性。例如,可以从数组`[1, 2, 3]`中分别赋值给`a`, `b`, `c`,或者从对象`{x: 1, y: 2, z: 3}`中提取属性值给同名变量。
18 6
|
24天前
|
存储 JavaScript 前端开发
JavaScript高级主题:JavaScript 中的 Map 和 Set 是什么?它们有什么区别?
JavaScript的ES6引入了Map和Set数据结构。Map用于存储键值对,适合通过键进行查找,而Set则存储唯一值,无键且不支持键查找。两者在性能上表现出色,尤其在频繁的写入删除操作中。选择使用哪个取决于具体应用场景:键值对需求选Map,独特值集合则选Set。
20 2
|
27天前
|
JavaScript 前端开发
使用JavaScript实现一个复杂功能:日期范围选择器
使用JavaScript实现一个复杂功能:日期范围选择器
|
2月前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
74 0
|
2月前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(五)
JavaScript高级笔记-coderwhy版本
99 0