Узнать “вчерашний день”

181
15 августа 2018, 12:30

Допустим есть дата 30.04.2018
Сегодня, допустим, 31.04.2018
Как через узнать, что это было вчера?

В моём случае "сегодняшняя" дата выводится так:

var dates = new Date();
var sDt = dates.getDate();
var sDm = dates.getMonth() +1;
var sDy = dates.getFullYear();
// fix
var sDt = sDt<10 ? '0'+sDt : sDt;
var sDm = sDm<10 ? '0'+sDm : sDm;

А дата, так скажем, элемента вытаскивается из html вот так:

<div class="date" data-date="30.04.2018">
var dateElem = $('.date').attr('data-date').split('.');
var dateElemDay = dateElem[0];
var dateElemЬMonth = dateElem[1];
var dateElemYear = dateElem[2];
Answer 1

Допустим есть дата 30.04.2018

Сегодня, допустим, 31.04.2018

Как через узнать, что это было вчера?

Просто вариант:

var yest = new Date((new Date()).valueOf() - 1000 * 60 * 60 * 24); 
// Массив даты, соединяется в строку 
var d = [yest.getDate(), yest.getMonth() + 1, yest.getFullYear()].join('.'); 
// Установить день 
$('.date').attr('data-date', d).text(d);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="date" data-date=""></div>

Вариант с вводом даты:

var yest = new Date((new Date()).valueOf() - 1000 * 60 * 60 * 24); 
// Массив даты, соединяется в строку 
var d = [('0' + yest.getDate()).slice(-2), ('0' + (yest.getMonth() + 1)).slice(-2), yest.getFullYear()].join('.'); 
 
$('button').click(function(e) { 
  var input = $('.chk').val(); 
  if (d === input) { 
    $('.date').text('yesterday'); 
  } else { 
    $('.date').text('Not yesterday'); 
  } 
 
  console.log(input, d); 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="date" data-date="01.06.2018">&nbsp;</div> 
<input type="text" class="chk" /> 
<button>Check date</button> 
<div class="">dd.mm.yyyy</div>

Вариант без ввода даты:

var yest = new Date((new Date()).valueOf() - 1000 * 60 * 60 * 24); 
// Массив даты, соединяется в строку 
var d = [('0' + yest.getDate()).slice(-2), ('0' + (yest.getMonth() + 1)).slice(-2), yest.getFullYear()].join('.'); 
// Date 
var chk = $('.date').attr('data-date'); 
$('.date').text(d == chk ? 'yesterday' : 'other');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="date" data-date="30.06.2018">&nbsp;</div>

READ ALSO
В консоли работает на сайте нет

В консоли работает на сайте нет

В консоли это работает, а на сайте нет:

140
Почему нельзя вставлять код строками в jQuery

Почему нельзя вставлять код строками в jQuery

Есть обычная функцияappend, есть пример большого кода который надо вставлять, например:

207
Как сделать закрытие и открытие сайт бара?

Как сделать закрытие и открытие сайт бара?

не могу сделать что бы, при скролле по странице, определялся пункт под меню, и предыдущий закрылся напримера след открылся

166
OpenCVSharp - неработает функция Absdiff

OpenCVSharp - неработает функция Absdiff

Недавно начал разбираться с библиотекой OpenCVSharpВ чем проблема моего кода?

194