简体   繁体   中英

adding time in seconds to hours

I want to extract the hour, minutes and seconds from the date in variable e (1:25:40). Then add to the hour in the variable d ("2019-06-29 21:25:38+00"). Expected effect:

21: 25: 38 + 5140 seconds = 22: 51: 18

var d + var w = 22: 51: 18

var d = new Date("2019-06-29 21:25:38+00");
//hour --> 21:25:38

var e = new Date("2019-06-29T 1:25:40.000+00:00");

I want '1: 25: 40' to count as 1h 25 min 40 seconds

1h ---> 3600 seconds

25 min --> 1500 seconds

40 seconds

Result: 21:25:38 + 1: 25: 40 = 22:51:18

You can simply do

var d = new Date("2019-06-29 21:25:38+00");
d.setSeconds(d.getSeconds() + 5140);

Try this: new_d = new Date(d.getTime() + 5140 * 1000)

Given var d = new Date("2019-06-29 21:25:38+00") , my output is 2019-06-29T22:51:18.000Z for new_d .

The reason that this works is because .getTime() returns a long which represents the number of milliseconds since midnight on Thursday, January 1, 1970 ( there's a fun history behind this ). You can also pass a Unix-time long into the Date() constructor to get a new time object, so if you can express your offset in terms of seconds, multiply that value by 1000, add it to your original long, and you're good to go.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM