Отображение даты (не времени) из метки времени Firestore - PullRequest
1 голос
/ 17 апреля 2019

Я извлекаю метку времени из базы данных Firestore и хочу только показать дату пользователю. Исходная отметка времени -

Timestamp(seconds=1555477200, nanoseconds=0)

Я пробовал несколько вариантов, чтобы получить дату, но все они имеют одинаковый вывод-

Срок исполнения: ср. 17 апреля 2019 г. 06:10:21 GMT-0500 (центральное дневное время)

<p>Due: ${Date(dueDate)}<br>
<p>Due: <time>${Date(dueDate)}</time><br>
<p>Due: <time type="date">${Date(dueDate)}</time><br>

Как мне отрезать временную часть временной метки? (В идеале, я бы хотел "17 апреля 2019 года", но если день там, это тоже хорошо)

Ответы [ 4 ]

2 голосов
/ 17 апреля 2019

Если у вас есть определенный формат даты, вы можете сделать

function getDate (timestamp=Date.now()) {
    const date = new Date(timestamp);
    let dd = date.getDate();
    let mm = date.getMonth()+1; //January is 0!
    const yyyy = date.getFullYear();

    if(dd<10) {
        dd = '0'+dd
    } 

    if(mm<10) {
        mm = '0'+mm
    } 
    // Use any date format you like, I have used YYYY-MM-DD
    return `${yyyy}-${mm}-${dd}`;
}
getDate(1555477200000);
// -> 2019-04-17

В качестве альтернативы, вы также можете сделать:

const time = new Date(1555477200000); 
// ->  Wed Apr 17 2019 10:30:00 GMT+0530 (India Standard Time)
const date = time.toDateString();
// -> Wed Apr 17 2019

PS: я использовал ES6 здесь.Если вы работаете на ES5, используйте конвертер babel для конвертации.

Ссылка: https://babeljs.io/repl

1 голос
/ 17 апреля 2019

Вы можете использовать Date.toLocaleString () следующим образом:

new Date(date).toLocaleString('en-EN', { year: 'numeric', month: 'long', day: 'numeric' });

const timestamp = 1555477200000;
console.log(
   new Date(timestamp).toLocaleString('en-EN', { year: 'numeric', month: 'long', day: 'numeric' })
);
0 голосов
/ 17 апреля 2019

Просто используйте moment.js и используйте нужный вам формат

date = moment();
console.log(date.format("MMMM D, YYYY"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
0 голосов
/ 17 апреля 2019

Вы можете сделать

var time= timeStampFromFirestore.toDate(); 
console.log(time); 
console.log(time.toDateString());

См. Полную документацию:

toDateString ()

toDate ()

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