提问人:Richard Knop 提问时间:12/23/2010 最后编辑:CommunityRichard Knop 更新时间:1/26/2021 访问量:145535
如何在当前日期上添加 20 分钟?[复制]
How to add 20 minutes to a current date? [duplicate]
问:
我可以像这样获取当前日期对象:
var currentDate = new Date();
我怎样才能增加 20 分钟?
var twentyMinutesLater = ?;
答:
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);
下一个:如何使用 zlib 压缩缓冲区?
评论