Разность между датами в формате timestamp в JavaScript
Формат timestamp предназначен для нахождения разницы между датами. Давайте для примера получим разницу в миллисекундах между текущим и заданным моментом времени:
let now = new Date(); let date = new Date(2015, 11, 4, 23, 59, 59); let diff = now.getTime() — date.getTime(); console.log(diff);
Очевидно, что чаще всего нам нужна разница не в миллисекундах, а в днях или в годах. Для этого просто нужно перевести милисекунды в нужное нам значение.
Например, чтобы перевести милисекунды в секунды, нужно милисекунды поделить на 1000 , чтобы секунды перевести в минуты, нужно секунды поделить на 60 и так далее.
Давайте, например, переведем разницу между датами в минуты:
console.log(diff / (1000 * 60));
А теперь — в часы:
console.log(diff / (1000 * 60 * 60));
Выведите на экран количество дней, прошедшее между 1 марта 1988 года и 10 января 2000 года.
Выведите на экран количество месяцев, прошедшее между вашим рождением и текущим моментом времени.
Разница
Здесь отображается разница между двумя дато-временными значениями в указанной единице.
Для получения разницы в миллисекундах, используйте dayjs#diff .
const date1 = dayjs('2019-01-25') const date2 = dayjs('2018-06-05') date1.diff(date2) // 20214000000 миллисекунд
Для получения разницы в формате другой единицы измерения, передайте её в качестве второго аргумента.
const date1 = dayjs('2019-01-25') date1.diff('2018-06-05', 'month') // 7
По умолчанию dayjs#diff обрежет десятичные значения в результате, возвращая целое число. Для получения числа с плавающей запятой, необходимо добавить true в качестве третьего аргумента.
const date1 = dayjs('2019-01-25') date1.diff('2018-06-05', 'month', true) // 7.645161290322581
Список всех доступных единиц измерения
Единицы измерения не чувствительны к регистру, также поддерживают длинную и краткую формы записи. Короткие формы чувствительны к регистру.
| Единица измерения | Краткая запись | Описание |
|---|---|---|
| day | d | День |
| week | w | Неделя в году |
| quarter | Q | Квартал |
| month | M | Месяц (Январь — 0, Декабрь — 11) |
| year | y | Год |
| hour | h | Час |
| minute | m | Минута |
| second | s | Секунда |
| millisecond | ms | Миллисекунда |
Разница между двумя датами в JavaScript
Разницу в днях между 2-мя датами в JavaScript можно получить следующим образом:
- Создать две переменные типа Date, передав обязательно даты как строку обернутую кавычками.
- Получить разницу между датами в миллисекундах.
- Применить деление, чтобы привести результат к дням.
var date1 = new Date("7/11/2010"); var date2 = new Date("12/12/2010"); var timeDiff = Math.abs(date2.getTime() - date1.getTime()); var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); alert(diffDays);
Если вы хотите изучить стек ASP.NET MVC, SQL, jQuery, CSS – Бесплатный курс по веб-разработке ASP.NET MVC
Если вы новичок в программировании, то посмотрите наше руководство Как стать программистом с нуля
Мы развиваем платформу Falcon Space. Суть – создание функциональных личных кабинетов в веб с использованием только MS SQL (бизнес-логика) и Bootstrap (для стилизации). Вся разработка осуществляется через личный кабинет разработчика на портале.
Демостенд с примерами кода
Описание веб-платформы для технического специалиста
Опубликовано в JS & jQuery
- Демонстрация компонентов Falcon Space
- Смотреть демо веб-платформы Falcon Space
- Подпишись на наш видеоканал в Youtube
Сравнение дат и разность между датами
Пусть вам нужно сравнить две даты и узнать какая из них больше. Существует несколько способов сделать это. Из мы и разберем в данном видео. Кроме того, вы узнаете, как найти разницу между датами, а также как пользоваться функцией Date.parse, традиционно вызывающей сложности у новичков.
Исходники кода
var date1 = ‘2018-12-01’; var date2 = ‘2019-12-01’; console.log(new Date(date1) — new Date(date2)); var date1 = ‘2018-12-01’; var date2 = ‘2019-12-01’; console.log(Date.parse(date1) — Date.parse(date2));
Смотрите также
- видео
продвинутая работа с new Date в JavaScript - видео
определение знака зодиака - видео
обратный отсчет до даты
Трепачёв Дмитрий © 2012-2024
t.me/trepachev_dmitry