Date

class Date

const date = new Date ()

Static method Date.now()

Возвращает число миллисекунд (Timestamp), прошедших с с 0 часов, 0 минут и 0 мск первого января 1970 года по Гринвичу с добавлением поправки на часовой пояс. Значение времени берется из системного времени устройства.


Date.now() = 
            

Как получить мск?


date.toString()
    .slice(-3) =  
            

Как получить секунды?


date.toString()
    .slice(-5)
    .slice(0,2) % 60 =  
            

Как получить минуты?


(date.toString()
     .slice(0,-3) / 60 % 60)
     .toFixed(0) = 
            

Не удобно и далее делать расчеты с периодом то в 60, то в 24, то в 7, а то в набор из значений 28, 29, 30, 31, заботясь об учете високосного года.

Методы new Date()

метод результат
getTime()
Timestamp
toTimeString()
строка "время"
toDateString()
строка "дата"
toLocaleTimeString()
строка локальное "время"
toLocaleDateString()
строка локальная "дата"
getTimezoneOffset()
смещение часового пояса
Время
getMilliseconds()
getSeconds()
getMinutes()
getHours()
UTC Время
getUTCMilliseconds()
getUTCSeconds()
getUTCMinutes()
getUTCHours()
Даты
getDay()
День недели (отсчет с 0 и с воскресенья)
getDate()
Дни месяца (отсчет с 1)
getMonth()
Месяц (отсчет с 0)
getFullYear()
UTC Даты
getUTCDay()
День недели (отсчет с 0 и с воскресенья)
getUTCDate()
Дни месяца (отсчет с 1)
getUTCMonth()
Месяц (отсчет с 0)
getUTCFullYear()

Методы set

Как рассчитать время между двумя событиями? Узнать какой день недели или месяца будет через 100 дней? Для этого можно использовать конструктор объекта new Date () или методы set этого объекта:


const days100 = 1000s
                * 60m
                * 60h
                * 24d
                * 100;
const date = new Date (
                Date.now() 
                + days100
                )

date.getFullYear() 
date.getMonth()    
date.getDate()     
date.getDay()      
                

Можно получить объект и встроенным методом добавить пару месяцев, изменив объект:


const add2Month = new Date();

add2Month.setMonth(
  2 + add2Month.getMonth()
);

add2Month.getMonth()  
          
                

Библиотека Moment.js

https://momentjs.com/

Подключение через CDN с локалью UKRAINE - locale/uk.js

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/uk.js

Методы Moment.js

метод

результат

Unix Timestamp
moment()
  .format(x)
    
                        
Время и даты
moment()
  .format('MMMM Do YYYY')
   
                        
moment()
  .format('h:mm:ss');
  
                        
moment()
  .format('h:mm:ss:SSS')
  
                        
Задать смещение +100 дней

moment()
 .add(100, 'days')
 .format('MMMM Do YYYY)

 
Задать смещение -45 минут

moment()
  .subtract(45, 'm')
  .format('h:mm:ss)