我有一个创建日期.我想运行if/switch语句来了解现在的日期和时间是否超过创建日期的24小时.
如果创建日期超过24小时前,请执行某些操作,如果不到24小时之前再做其他事情.
let now = +new Date();
// This is returned as: July 18, 2018 at 3:48:00 AM UTC+1
let createdAt = +doc.data().created_at;
const oneDay = 60 * 60 * 24;
var compareDatesBoolean = (now - createdAt) > oneDay;
Run Code Online (Sandbox Code Playgroud)
这里的任何指导都会非常感谢你!:)
小智 15
添加这个const oneday = 60 * 60 * 24 * 1000 (milliseconds)。因为,JS 将 2 个 Datetime 对象之间的差异转换为毫秒。我认为这应该有效
Hit*_*ani 11
创建示例一小时请参阅此项,然后将其更改为24小时
const OneHourAgo= (date) => {
const hour= 1000 * 60 * 60;
const hourago= Date.now() - hour;
return date > hourago;
}
Run Code Online (Sandbox Code Playgroud)
简单的一个: -
var OneDay = new Date().getTime() + (1 * 24 * 60 * 60 * 1000)
day hour min sec msec
if (OneDay > yourDate) {
// The yourDate time is less than 1 days from now
}
else if (OneDay < yourDate) {
// The yourDate time is more than 1 days from now
}
Run Code Online (Sandbox Code Playgroud)
小智 11
在这种情况下,使用 moment 会容易得多,你可以试试这个:
let hours = moment().diff(moment(yourDateString), 'hours');
let days = moment().diff(moment(yourDateString), 'days');
Run Code Online (Sandbox Code Playgroud)
它会给你像 1,2,5,0etc 这样的整数值,所以你可以很容易地使用条件检查,比如:
if(hours >= 24) { your code }
Run Code Online (Sandbox Code Playgroud)
或者
if(days >= 1) { your code }
Run Code Online (Sandbox Code Playgroud)
此外,还有一件事是您可以获得更准确的时间差结果(以小数形式,如 1.2,1.5,0.7 等)来获得这种结果,我们需要传递第三个参数,即对于精确结果为真,请使用以下语法:
let hours = moment().diff(moment(yourDateString), 'hours', true);
Run Code Online (Sandbox Code Playgroud)
如果您有任何进一步的查询,请告诉我
| 归档时间: |
|
| 查看次数: |
7980 次 |
| 最近记录: |