javascript - 如何在 Angular 中用当前时间减去 firebase 时间戳并检查它是否超过 5 分钟

标签 javascript angular momentjs angular2-moment

我有一个 Angular 应用程序,其中我使用 firebase.database.ServerValue.TIMESTAMP 将带有时间戳的记录存储到 firebase

现在我想检查添加到数据库的时间戳是否超过五分钟。

我尝试在我的组件中使用 moment,但它不起作用。它提供了虚假数据。我猜想 Firebase 中存储的数据所处的时代就像我在印度一样,那么如何让 moment 在 Angular 中工作。

我正在使用 Angular 2 Moment。

这是我尝试过的

import * as moment from 'moment/moment';

      edit(i:number){
        const val = moment.unix(this.comments[0].createdAt);// the value is a epoch time that is the standard that is stored in firebase
        const present = moment().unix();

        console.log(moment.duration(val.diff(present)));
      }

在日期中使用 this.comments 时的值

let ts = new Date(this.comments[0].createdAt * 1000); = Wed Aug 05 49474 20:09:20 GMT+0530(印度标准时间)

现在的情况是——2017 年 7 月 4 日星期二 14:56:46 GMT+0530(印度标准时间)

请帮忙解释为什么评论数据没有在应该是 7 月 3 日的时间下沉,因为它是当天在 firebase 上添加的

最佳答案

const now = new Date();
const ts = new Date(this.comments[0].createdAt);
const diff = now.getTime() -  ts.getTime();

console.log(diff > 5 * 60 * 1000); // this will give you true or false

关于javascript - 如何在 Angular 中用当前时间减去 firebase 时间戳并检查它是否超过 5 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892322/

相关文章:

javascript - 使用 setItem 设置多个状态值和使用 useEffect 这样做有什么区别?

javascript - 无法从 Firebase 更新和删除对象

javascript - 使用 momentJS 比较 2 个日期

javascript - 将任何类型的 javascript 日期时间变量转换为 moment JS 对象

javascript - 如何在 Vue.js 中将特定颜色传递给父组件?

javascript - 如何获取jquery中的datepicker类值?

javascript - 减少函数中的变异累加器是否被认为是不好的做法?

angular - 使用以下驱动的模板在 Angular 6 中创建和编辑数据的相同形式

angular - Angular 2中基于条件的点击事件

javascript - moment-timezone.js – 在 Jest 测试中运行时出现错误