Работа с датами в JavaScript

Примеры работы с датами и временем на JavaScript.

Получение строки с датой нужного формата

var date = new Date();
var dateStr = [
    date.getFullYear(), '-', 
    ('0' + (date.getMonth() + 1)).slice(-2), '-', 
    ('0' + date.getDate()).slice(-2), ' ', 
    ('0' + date.getHours()).slice(-2), ':', 
    ('0' + date.getMinutes()).slice(-2), ':', 
    ('0' + date.getSeconds()).slice(-2)
    ].join(''); // 2016-09-16 09:59:42

Разница дат в днях, часах и минутах

Пример получения строки с разницей между двумя датами в днях, часах и минутах.

function dateDiffStr(date1, date2) {
    var getLabel = function (value, label1, label2, label3) {
            var remainder = value < 10 ? value : value % 100;
            if (remainder >= 5 && remainder <= 19) return label3;
            remainder = remainder % 10;
            if (remainder === 0 || remainder >= 5) return label3;
            if (remainder === 1) return label1;
            return label2;
        },
        minutes = Math.abs(date1 - date2) / 60000 | 0,
        hours = minutes / 60 | 0,
        days = hours / 24 | 0;
    minutes -= hours * 60;
    hours -= days * 24;
    var result = [
        days, getLabel(days, 'день', 'дня', 'дней'), 
        hours, getLabel(hours, 'час', 'часа', 'часов'), 
        minutes, getLabel(minutes, 'минута', 'минуты', 'минут')
    ];
    return result.join(' ');
}

Использование

var date = new Date(2017, 6, 1, 12, 30, 25),
    now = new Date();
console.log(dateDiffStr(now, date)); // 12 дней 2 часа 30 минут
console.log(dateDiffStr(date, now)); // 12 дней 2 часа 30 минут

About the author

Добавить комментарий

Сказать спасибо

Способ платежа:

Подписаться на обновления

Укажите свой e-mail чтобы получать уведомления о новых статьях.