У меня есть угловое приложение, в котором я храню записи в 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
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
Вы можете использовать объект 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);
this.comments[0].createdAt
?