Как вычесть временную метку пожарной базы с текущим временем и проверить, превышает ли она 5 минут в угловых

1

У меня есть угловое приложение, в котором я храню записи в firebase с меткой времени, используя firebase.database.ServerValue.TIMESTAMP

Теперь я хочу проверить, добавлена ли отметка времени в базу данных более пяти минут.

Я попытался использовать момент в своем Компоненте, но это просто доцентная работа. Он дает ложные данные. Я думаю, что данные, хранящиеся в Firebase, находятся в эпоху, где, как и я, в Индии, как заставить момент работать в 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); = Ср авг. 05 49474 20:09:20 GMT + 0530 (стандартное время Индии)

где на данный момент это похоже - Вт Июл 04 2017 14:56:46 GMT + 0530 (Стандартное время Индии)

Пожалуйста, помогите, почему его данные комментариев не поглощаются со временем, когда это должно быть июль 3, поскольку он был добавлен в этот день на firebase

  • 1
    каково значение this.comments[0].createdAt ?
  • 0
    Это время эпохи, которое хранится в базе данных.
Показать ещё 2 комментария
Теги:
angular
momentjs
angular2-moment

2 ответа

0
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
0

Вы можете использовать объект Date javascript для выполнения математики, т.е.

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

console.log(diff > 5 * 60 * 1000);
  • 0
    его отображение показывает правильную информацию, сообщение хранится в последний день, но консоль .log говорит false, где, поскольку это больше, чем mins, нужно сказать true right
  • 0
    Когда я консоль, войдите их ts - ср. 05 августа 49474 20:09:20 GMT + 0530 (стандартное время Индии) и сейчас - вторник 04 июля 2017 14:56:46 GMT + 0530 (стандартное время Индии)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню