如何在当前日期上添加 20 分钟?[复制]

How to add 20 minutes to a current date? [duplicate]

提问人:Richard Knop 提问时间:12/23/2010 最后编辑:CommunityRichard Knop 更新时间:1/26/2021 访问量:145535

问:

这个问题在这里已经有答案了:
12年前关闭。

可能的重复:
如何向 javascript Date 对象添加 30 分钟?

我可以像这样获取当前日期对象:

var currentDate = new Date();

我怎样才能增加 20 分钟?

var twentyMinutesLater = ?;
JavaScript 日期时间

评论

5赞 Piskvor left the building 12/23/2010
@therefromhere:三分之二的重复,实际上是;)

答:

3赞 Haim Evgi 12/23/2010 #1

你在帖子中有很多答案

var d1 = new Date (),
d2 = new Date ( d1 );
d2.setMinutes ( d1.getMinutes() + 20 );
alert ( d2 );
125赞 Nick Craver 12/23/2010 #2

使用 .getMinutes() 获取当前分钟数,然后添加 20 并使用 .setMinutes() 更新日期对象。

var twentyMinutesLater = new Date();
twentyMinutesLater.setMinutes(twentyMinutesLater.getMinutes() + 20);

评论

6赞 Déjà vu 12/23/2010
出于好奇,当分钟数为 >= 40 时,它是否适用于任何浏览器?(IE6 我在看着你)
1赞 Nick Craver 12/23/2010
@ring0 - 是的,如果添加超过小时,它会正确环绕,它会更新小时。
4赞 T.J. Crowder 12/23/2010
@VGE:“可能是最有效的方法” 可能不是,原始值方法可能更有效。但我无法想象它在现实世界中的重要性,甚至在一个紧密的循环中也是如此,而且代码对任何进行维护的人来说都很好,很清楚。
0赞 Jimmy Bosse 6/16/2013
我不认为这只有在您谈论 currentDate 是“现在”时才是正确的。如果要在任何给定日期添加 20 分钟,则声明应为 var twentyMinutesLater = new Date(currentDate);
2赞 T.J. Crowder 2/23/2016
@JimmyBosse:将通过字符串进行往返,并删除日期的毫秒部分。为了准确地克隆一个日期(而且更有效,并不是说它可能很重要),你会想要.new Date(currentDate)new Date(+currentDate)
28赞 T.J. Crowder 12/23/2010 #3

在毫秒内添加它:

var currentDate = new Date();
var twentyMinutesLater = new Date(currentDate.getTime() + (20 * 60 * 1000));
11赞 Michael Borgwardt 12/23/2010 #4

只需获取毫秒时间戳并添加 20 分钟:

twentyMinutesLater = new Date(currentDate.getTime() + (20*60*1000))
9赞 Déjà vu 12/23/2010 #5

只需在日期中添加 20 分钟(以毫秒为单位):

  var currentDate = new Date();

  currentDate.setTime(currentDate.getTime() + 20*60*1000);
7赞 pooja 12/23/2010 #6
var d = new Date();
var v = new Date();
v.setMinutes(d.getMinutes()+20);