Как мне преобразовать firebase.database.ServerValue.TIMESTAMP в соответствующую ему дату или время сейчас? - PullRequest
0 голосов
/ 31 августа 2018

Вот мой код, куда я отправляю newsObj в базу данных реального времени

   addNewsObj(newsObj:News) {
    this.newsListRef.push(newsObj).then((snap) => {
      const key = snap.key;
      console.log(key);
      this.newsListRef.update(key, {news_timestamp_post_created: firebase.database.ServerValue.TIMESTAMP});
    });
   }

В результате я хочу преобразовать длинное значение, полученное из БД, что-то вроде этого

news_timestamp_post_created: 
1535716975480

До 59 минут назад или когда оно превышает 24 часа, оно отображается по дням, а затем по месяцам с течением времени. Я бы не хотел, чтобы в моем приложении отображалось что-то вроде 3000 минут назад или 120 дней назад.

Моя проблема здесь в том, что я не знаю, как преобразовать эти 1535716975480 в удобочитаемые термины

Любая маленькая подсказка была бы отличной помощью Спасибо!

EDIT:

Я пытался сделать это

let elapsed = news.news_timestamp_post_created;//1535716975480 
console.log(new Date(elapsed)); 

, который отображал «Неверная дата»

Согласно этой SO ссылке отметка времени сервера равна

"The doc says:

A placeholder value for auto-populating the current timestamp (time since the Unix epoch, in milliseconds) as determined by the Firebase servers"

Я узнал, что pic

1 Ответ

0 голосов
/ 31 августа 2018

Все, что мне нужно было сделать, это. (прошедшее время соответствует метке времени сервера Firebase)

console.log(new Date(elapsed));
//elapsed is 535716975480

-> зарегистрированное значение: пт 31 августа 2018 20:02:55 GMT + 0800 (сингапурское стандартное время)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...