2016-10-28 210 views
0

我想为现在的nodejs或javascript添加24小时的unix时间戳。我也想知道Date DOM对象中是否有直接的函数或属性。 我在PHP中找到了相关函数。此代码将在当前unix时间戳添加24小时后返回新的unix时间。如何在当前的NodeJs或javascript中添加24小时的时间戳?

$currentUnixTime=time(); 
$newUnixTime=strtotime('+1 day', $currentUnixTime); 
return newUnixTime; 
+1

的可能的复制[添加小时为Javascript Date对象?(http://stackoverflow.com/questions/1050720/adding-hours-to-javascript-date-object) – Andrea

+0

如果您需要更大量的日期操作momentjs的强烈建议 – mcfedr

回答

1
var myDate = new Date(); 
myDate.setHours(myDate.getHours()+24); 
return myDate; 
+1

这是一个比另一个 – Beginner

+0

感谢您的回复好多了,我 运行上面的代码和我得到的输出如下 周五2016年10月28日17点23分52秒GMT +0530(印度标准时间) Sat Oct 29 2016 17:23:52 GMT + 0530(印度标准时间) 但是在这里我必须再次将此字符串时间转换为unix时间戳。这会增加我更多的处理时间。是否有任何直接的功能,我只会输入额外的额外时间(当前unixtime + 24小时),它会在unix时间戳中返回最终答案。 $ newUnixTime = functionName('+ 1 day',Date.now()); –

+0

标准JavaScript库中没有像'+1 day'这样的事情。您可以使用像momentjs.com这样的外部库来执行moment()。add(1,'days') – Andrea

0

如果你特别想加入某一天,你应该使用momentjs库,它既是frontent和可用的NodeJS。

var now = new Date() 
var tomorrow = moment(now).add(1, 'day'); 

这比增加24小时更稳健,因为它考虑到了DST变化。出于那个唯一的原因,你应该避免在大多数情况下在JS中直接操作Date

http://momentjs.com/docs/#/manipulating/add/

几个月的特殊考虑和多年

如果是本月的原始日期的日子比在最后一个月的 天数越大,每月的一天将在最后一个月的最后一天更改为 。

moment([2010, 0, 31]);     // January 31 
moment([2010, 0, 31]).add(1, 'months'); // February 28 

也有特殊考虑牢记加入时间 是跨越夏令时。如果您添加年份, 个月,几周或几天,则原始小时将始终与添加的小时数 小时匹配。

var m = moment(new Date(2011, 2, 12, 5, 0, 0)); // the day before DST in the US m.hours(); // 5 
m.add(1, 'days').hours(); // 5 

如果要添加小时,分钟,秒或毫秒,该 前提是您要精确到小时,并会导致 不同小时。

var m = moment(new Date(2011, 2, 12, 5, 0, 0)); // the day before DST in the US m.hours(); // 5 
m.add(24, 'hours').hours(); // 6 
相关问题