JavaScript过期时间

JavaScript过期时间,javascript,momentjs,unix-timestamp,Javascript,Momentjs,Unix Timestamp,我需要一个函数,将增加一个unix时间戳24小时。然后,我需要检查创建时间戳和24小时之间的时间间隔。这将作为“过期”功能。我尝试过使用moment.js,但不确定这是否有效。有什么想法吗?const createExpiryUnix=(小时=24)=>(新日期(Date.now()+1000*60*60*hours)).getTime(); //返回时间跨度 const checkExpired=(unix)=>unix(新日期(Date.now()+1000*60*60*hours)).ge

我需要一个函数,将增加一个unix时间戳24小时。然后,我需要检查创建时间戳和24小时之间的时间间隔。这将作为“过期”功能。我尝试过使用moment.js,但不确定这是否有效。有什么想法吗?

const createExpiryUnix=(小时=24)=>(新日期(Date.now()+1000*60*60*hours)).getTime();
//返回时间跨度
const checkExpired=(unix)=>unix
您可以使用这些简单的函数来创建和检查到期时间跨度。

const createExpiryUnix=(hours=24)=>(新日期(Date.now()+1000*60*60*hours)).getTime();
//返回时间跨度
const checkExpired=(unix)=>unix
您可以使用这些简单的函数来创建和检查到期时间跨度。

尝试而不是瞬间。它是由相同的开发者创建的,而Luxon是Moment(生命终结)的继承者

const{DateTime}=luxon;
const addDays=(unixTimestamp,days=1)=>
DateTime.fromSeconds(unixtimestap).plus({days});
const checkExpiration=(unixTimestamp,expiration)=>
((当前,现在)=>
(过期!==未定义?当前>过期:当前<现在)
“过期”
: `${
(过期!==未定义
?(到期)。差异(当前“小时”)
:(当前).diff(现在是“小时”)
).as('hours').toFixed(0)
}剩余小时数`)
(DateTime.fromSeconds(unixtimestap),DateTime.local());
让我们现在=DateTime.local();
让expiration=addDays(now.toSeconds());
log(`Time remaining:${checkExpiration(now.toSeconds(),expiration)}`);
log(`剩余时间:${checkExpiration(1620772138)}`);//评论
futureDate=addDays(DateTime.local().toSeconds(),2);
log(`剩余时间:${checkExpiration(futureDate.toSeconds())}`)
.as控制台包装{top:0;最大高度:100%!重要;}
尝试一下,而不是瞬间。它是由相同的开发者创建的,而Luxon是Moment(生命终结)的继承者

const{DateTime}=luxon;
const addDays=(unixTimestamp,days=1)=>
DateTime.fromSeconds(unixtimestap).plus({days});
const checkExpiration=(unixTimestamp,expiration)=>
((当前,现在)=>
(过期!==未定义?当前>过期:当前<现在)
“过期”
: `${
(过期!==未定义
?(到期)。差异(当前“小时”)
:(当前).diff(现在是“小时”)
).as('hours').toFixed(0)
}剩余小时数`)
(DateTime.fromSeconds(unixtimestap),DateTime.local());
让我们现在=DateTime.local();
让expiration=addDays(now.toSeconds());
log(`Time remaining:${checkExpiration(now.toSeconds(),expiration)}`);
log(`剩余时间:${checkExpiration(1620772138)}`);//评论
futureDate=addDays(DateTime.local().toSeconds(),2);
log(`剩余时间:${checkExpiration(futureDate.toSeconds())}`)
.as控制台包装{top:0;最大高度:100%!重要;}

我最终使用了Moment.js,它很简单,对我来说很有用。
var exp=moment(新日期(expirationTimestamp)).from(新日期(现在))

我最终使用了Moment.js,它很简单,对我来说很有用。
var exp=moment(新日期(expirationTimestamp)).from(新日期(现在))

尝试Luxon而不是片刻。它是由相同的开发者创建的,而Luxon是Moment(生命终结)的继承者。还有,第24小时是什么?您能否提供两个日期和预期显示的示例?请尝试Luxon而不是Moment。它是由相同的开发者创建的,而Luxon是Moment(生命终结)的继承者。还有,第24小时是什么?你能提供一个两个日期和预期显示的例子吗?哇,这真是太棒了!谢谢我来回答你的问题。用例是,一旦用户单击一个按钮,就会创建一个对象。对象的时间戳将存储在数据库中。在前端,我需要不断检查还有多少时间,直到该对象过期。例如-今天中午创建的对象,我希望它在明天中午(24小时后)到期,因此它应该显示“从现在起24小时到期”。4小时后,当我再次检查时,我希望它显示“从现在起20小时到期”等。您的函数当前为我提供从现在起的剩余时间,但由于这些时间戳将存储在数据库中,我需要能够传递这些时间戳。我到底在哪里传入timestamp变量?@IGJ
checkExpiration
函数接受(
Number
timestamp
。嗯,似乎不起作用。我试着通过1620772138(即2021年5月11日星期二17:28:58 GMT-0500(东部标准时间),但我得到了剩余时间:剩余23小时。你通过的是秒,而不是毫秒。我可以修正这个问题,将1000秒相乘,并相应地除以它们。好的,我更新了
checkExpiration
函数,期望的是秒而不是毫秒。哇,这太棒了!谢谢!让我回答你问的问题。T用例是,一旦用户单击按钮,将创建一个对象。该对象的时间戳将存储在数据库中。在前端,我需要不断检查该对象过期之前还有多少时间。例如,今天中午创建的对象,我希望它明天中午过期(24小时后),因此它应该显示“24小时后到期”。4小时后,当我再次检查时,我希望它显示“20小时后到期”“等等。您的函数目前正在为我提供从现在开始的剩余时间,但由于这些时间戳将存储在数据库中,因此我需要能够传入这些时间戳。我到底在哪里传入时间戳变量?@IGJ
checkExpiration
函数采用(
Number
时间戳