ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何在 JavaScript 中将星期添加到日期

2022-09-12 09:05:13  阅读:442  来源: 互联网

标签:00 中将 addWeeks JavaScript 00.000 日期 添加 2022 date


如何在 JavaScript 中将星期添加到日期

在本文中,我们将学习如何轻松地将任意周数添加到 日期 JavaScript 中的对象。

1. 日期 setDate() 和 getDate() 方法

将周数添加到 日期 在 JavaScript 中:

  1. 使用 获取日期() 上的方法 日期 获取月份的日期 日期 .
  2. 添加结果 获取日期() 7 乘以要添加的周数。
  3. 调用 设置日期() 将此总和作为参数的方法。

例如:

 函数 addWeeks(日期,周){  
 date.setDate(date.getDate() + 7 * 周); 归期;  
 } // 2022 年 5 月 20 日  
 const date = new Date('2022-05-20T00:00:00.000Z'); const newDate = addWeeks(date, 1); // 2022 年 5 月 27 日  
 控制台.log(newDate); // 2022-05-27T00:00:00.000Z

我们的 添加天数() 函数需要一个 日期 对象和天数作为参数添加,并返回相同 日期 对象与新添加的天数。

日期 获取日期() 方法返回一个介于 1 和 31 之间的数字,表示特定日期的月份中的哪一天。

日期 设置日期() 方法更改月份中的日期 日期 反对作为参数传递的数字。

如果您指定的数字会更改 日期 , 设置日期() 自动更新 日期 反映这一点的信息。

 函数 addWeeks(日期,周){  
 date.setDate(date.getDate() + 7 * 周); 归期;  
 } // 2022 年 5 月 20 日  
 const date = new Date('2022-05-20T00:00:00.000Z'); const newDate = addWeeks(date, 3); // 2022 年 6 月 10 日  
 控制台.log(newDate); // 2022-06-10T00:00:00.000Z

加 3 周加 21 天(20 + 21 = 41 天),但 5 月只有 31 天,所以月份递增 1 这一天被设置为 10 (41 - 31)。

避免副作用

设置日期() 方法改变了 日期 它被调用的对象。这给我们带来了一个副作用 添加天数() 功能。避免修改传递的 日期 并创建一个纯函数,复制 日期 并打电话 设置日期() 在这个副本上,而不是在原件上。

 函数 addWeeks(日期,周){  
 常量 dateCopy = 新日期(日期); dateCopy.setDate(dateCopy.getDate() + 7 * 周); 返回日期复制;  
 } const date = new Date('2022-05-20T00:00:00.000Z'); const newDate = addWeeks(date, 3); 控制台.log(newDate); // 2022-06-10T00:00:00.000Z //原始未修改  
 控制台日志(日期); // 2022-05-20T00:00:00.000Z

不修改外部状态的函数(即纯函数)往往更容易预测和推理,因为它们总是为特定输入提供相同的输出。这使得限制代码中副作用的数量成为一种很好的做法。

2. date-fns addWeeks() 函数

或者,您可以使用纯 addWeeks() 从函数 日期-fns NPM 包可快速增加数周 日期 .它的工作原理类似于我们的 addWeeks() 功能。

 从“日期-fns”导入 { addWeeks }; const date = new Date('2022-05-20T00:00:00.000Z'); const newDate = addWeeks(date, 3); 控制台.log(newDate); // 2022-06-10T00:00:00.000Z //原始未修改  
 控制台日志(日期); // 2022-05-20T00:00:00.000Z

最初发表于 编码beautydev.com

JavaScript 所做的每一件疯狂的事

关于 JavaScript 的细微警告和鲜为人知的部分的迷人指南。

注册 并立即获得免费副本。

更多内容在 ** 纯英语.io** .注册我们的 ** 免费每周通讯** .跟着我们 ** 推特** , ** 领英** ** , ** YouTube** ** , 和 __不和谐 ** .** 对增长黑客感兴趣?查看 ** 电路** ** .**

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/30300/32271208

标签:00,中将,addWeeks,JavaScript,00.000,日期,添加,2022,date
来源: https://www.cnblogs.com/amboke/p/16685434.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有