首页 > 编程语言 >如何在 JavaScript 中从日期中减去秒数

如何在 JavaScript 中从日期中减去秒数

时间:2022-09-03 17:13:50浏览次数:105  
标签:10 秒数 JavaScript 35 日期 减去 2022 date

如何在 JavaScript 中从日期中减去秒数

让我们学习如何轻松地从 a 中减去任意秒数 日期 JavaScript 中的对象。

1. 日期 setSeconds() 和 getSeconds() 方法

从 a 中减去秒 日期

  1. 调用 获取秒() 上的方法 日期 获取秒数。
  2. 减去秒数。
  3. 将减法的结果传递给 setSeconds() 方法。

例如:

 函数减秒(日期,秒){  
 date.setSeconds(date.getSeconds() - 秒); 归期;  
 } // 2022 年 7 月 10 日下午 5:35:40  
 const date = new Date('2022-07-10T17:35:40.000Z'); const newDate = subtractSeconds(date, 10); // 2022 年 7 月 10 日下午 5:35:30  
 控制台.log(newDate); // 2022-07-10T17:35:30.000Z

我们的 减秒() 函数需要一个 日期 对象和作为参数减去的秒数。它返回一个新的 日期 减去秒数的对象。

日期 获取秒() 方法返回一个介于 0 59 表示特定的秒数 日期 .

日期 setSeconds() 方法设置 a 的秒数 日期 到指定的号码。

如果我们减去的秒数会减少分、时、日、月或年 日期 目的, 设置小时() 自动更新 日期 反映这一点的信息。

 函数减秒(日期,秒){  
 date.setSeconds(date.getSeconds() - 秒); 归期;  
 } // 2022 年 7 月 10 日下午 5:20:00  
 const date = new Date('2022-07-10T17:20:00.000Z'); 常量新日期 = 减秒(日期,130); // 2022 年 7 月 10 日下午 5:17:50  
 控制台.log(newDate); // 2022-07-10T17:17:50.000Z

在本例中,减少 日期 经过 130 减少分钟 3 并将秒数设置为 50 .

避免副作用

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

 函数减秒(日期,秒){  
 // 使用 Date() 构造函数进行复制  
 常量 dateCopy = 新日期(日期); dateCopy.setSeconds(date.getSeconds() - 秒); 返回日期复制;  
 } // 2022 年 7 月 10 日下午 5:35:40  
 const date = new Date('2022-07-10T17:35:40.000Z'); const newDate = subtractSeconds(date, 10); // 2022 年 7 月 10 日下午 5:35:30  
 控制台.log(newDate); // 2022-07-10T17:35:30.000Z //原始未修改  
 控制台日志(日期); // 2022-07-10T17:35:40.000Z

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

2. date-fns subSeconds() 函数

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

 从“日期-fns”导入{ subSeconds }; // 2022 年 7 月 10 日下午 5:35:40  
 const date = new Date('2022-07-10T17:35:40.000Z'); const newDate = subSeconds(date, 10); // 2022 年 7 月 10 日下午 5:35:30  
 控制台.log(newDate); // 2022-07-10T17:35:30.000Z //原始未修改  
 控制台日志(日期); // 2022-07-10T17:35:40.000Z

最初发表于 编码beautydev.com

JavaScript 所做的每一件疯狂的事

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

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

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

本文链接:https://www.qanswer.top/11762/01110317

标签:10,秒数,JavaScript,35,日期,减去,2022,date
From: https://www.cnblogs.com/amboke/p/16653044.html

相关文章

  • 使用JavaScript对HTML实体字符进行转义与反转义处理
    原文地址:https://www.yerenwz.com/6567.html在这篇《短代码与代码高亮功能结合,终于可以随意的来回切换可视化/文本模式进行编辑代码了》文章中有提到在折腾WordPress自......
  • JavaScript的变量命名规则和关键字的介绍
    JavaScript的变量命名规则和关键字的介绍规则一:开头必须是字母或$或_规则二:关键字和保留字不能用做变量名那么能不能使用typeof做为变量名呢?想都别想!那么能不能......
  • [javascript] 构造函数与原型对象 +原型链
    构造函数与原型对象1、使用工厂方法创建对象functioncreatePerson(name,age,gender){//创建一个新的对象varobj=newObject();//向对象中添加属性......
  • [javascript] 自调用函数
    自调用函数(IIFE)作用1.隐藏实现2.利用局部作用域,避免污染全局命名空间3.用它编写js模块(function(){vara=3;console.log(a+3);})();......
  • 记录 javascript canvas ImageData 解析
    数组的内容:data.length:w*h*4r:0-255g:0-255b:0-255a:0-255Math.round(255*a) 数组遍历:constdata=context.getI......
  • JavaScript 原始值的比较和对象的比较
    原始值有null、undefined、布尔值、数字、字符串。所有的原始值,只要编码值相同,则被认为相等:letpri1=123;letpri2=123;pri1===pri2;//=>true相反,对象的比......
  • HTML、CSS 和 JavaScript 中的所有唯一字符挑战
    HTML、CSS和JavaScript中的所有唯一字符挑战HTML:<divclass="wrapper"><h1>所有独特的字符</h1><br><p>来自<ahref="https://buttondown.email/cassidoo/ar......
  • 前端面试题 JavaScript 基础 —— 2022-09-03
    每日3题13以下代码执行后,控制台中的输出内容为?Object.prototype.a=1;Function.prototype.b=2;functionF(){}varf=newF();console.log(F.a);console.lo......
  • JavaScript const
    JavaScriptconst块作用域varx=10;//此处x为10{constx=6;//此处x为6}//此处x为10在声明时赋值constPI;PI=5134525352;//不正确co......
  • # JavaScript 对象
    目录JavaScript对象对象创建对象(object)的三种方式new关键字遍历对象属性(forin)JavaScript对象对象在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都......