Javascript: отображение «Сегодня» от сегодняшней даты или «Вчера» от вчерашней даты - PullRequest
0 голосов
/ 27 февраля 2019

Я работаю над датой.Я застрял в одной точке.Я получаю дату в формате ГГГГ-ММ-ДД.Итак, скажем, сегодня 2019-02-27, тогда я хотел бы получить «Сегодня» вместо даты.Тогда вчера было 2019-02-26, поэтому я хотел бы получить «Вчера», а другая дата, такая как 2019-02-25, будет отображаться как есть.

Примечание: я получаю значение даты в виде строки.

Любая помощь будет отличной.

Спасибо ..

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Вы можете использовать библиотеку moment.js

let date= new Date();
let dateyday=new Date("2019-02-26");//pass date as a string

let c=moment(date).calendar(); 
console.log(c)
console.log(moment(dateyday).calendar())
console.log(c.split(" ")[0])//split to get today
console.log(moment(dateyday).calendar().split(" ")[0])//split to get yesterday
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>

Более подробную информацию вы можете найти здесь - https://momentjs.com/

0 голосов
/ 27 февраля 2019

Возможно, он слишком точен для того, что вам нужно, но использует миллисекунды и т. Д.

let date1 = new Date('2019-02-27');
let date2 = new Date('2019-02-26');
let date3 = new Date('2018-02-23');
let dateDynamic = new Date(Date.now() - 1000*60*60*12); // date with 12 hours subtrated


const response = (date) => { 

  const day = 1000*60*60*24;
  console.log(day);
  let dteToday = Date.now()-day;
  let dteYesterday = dteToday-day;
  let dteCompare = date.getTime();
  console.log(`${dteToday} - ${dteYesterday} : ${dteCompare}`);
  return (dteToday < dteCompare) ? 'today' : (dteYesterday < dteCompare) ? 'yesterday' : date.toString();
  
};



console.log(response(date1));
console.log(response(date2));
console.log(response(date3));
console.log(response(dateDynamic));
0 голосов
/ 27 февраля 2019

Это даст вам идею начать.

const isToday = (someDate) => {
            const today = new Date()
           return someDate.getDate() == today.getUTCDate() &&
            someDate.getMonth() == today.getUTCMonth() &&
            someDate.getFullYear() == today.getUTCFullYear()
        }; 
        isToday(new Date("2019-02-27")) // true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...