В приведенном выше примере мы передаем 0 в качестве аргумента. Я покажу 0 секунд, прошедших с 01 января 1970 года. Результатом этого объекта Date является

ThuJan 01 1970 05:30:00 GMT+0530 (India Standard Time)

Давайте возьмем другой пример, где мы передаем 1000 миллисекунд конструктору Date(). 1000 миллисекунд — это 1 секунда, поэтому мы ожидаем, что указанная выше дата увеличится на 1 секунду.

new Date(1000)

Результат:

Thu Jan 01 1970 05:30:01 GMT+0530 (India Standard Time)

4) новая дата (строка даты):

Этот синтаксис объекта даты принимает строку в качестве аргумента. DateString определяется типом стандарта даты. Этот синтаксис в основном принимает три типа входных данных. Это следующие

а) Длинные даты Javascript:

Синтаксис длинных дат обычно МММ ДД ГГГГ. Но порядок может отличаться в других синтаксисах.

Примеры формата длинных дат в JavaScript:

new Date("October 25 1998");new Date("25 Oct 1998");new Date("Oct 25 1998");new Date("OCTOBER, 25, 1998");

Результаты приведенных выше примеров

Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)

Результат всех этих примеров один и тот же. Единственная разница в том, что мы передаем им разные строки даты. Кроме того, следует отметить, что эти строки чувствительны к типу и запятые не обязательны.

б) Короткие строки даты JavaScript:

Короткие строки даты в JavaScript обычно имеют формат ММ/ДД/ГГГГ.

Пример краткой даты JavaScript:

date = new Date("10/25/1998");

Приведенный выше объект даты приведет к следующему формату даты

Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)

c) Даты ISO в JavaScript:

ISO означает международный стандарт представления даты и времени. Другими словами, это международный стандартный синтаксис или способ представления дат. Это предпочтительный синтаксис даты в JavaScript.

Примеры даты JavaScript в формате ISO:

new Date("2018-05-15"); // YEAR-MONTH-DAY new Date("2019-07"); // YEAR-MONTH ONLYnew Date("2013"); // YEAR-ONLY new Date("2017-03-27T12:00:00Z"); // YEAR-MONTH-DAY T HOURS:MINUTES:SECONDS

ВЫВОД:

Tue May 15 2018 05:30:00 GMT+0530 (India Standard Time) Mon Jul 01 2019 05:30:00 GMT+0530 (India Standard Time)Tue Jan 01 2013 05:30:00 GMT+0530 (India Standard Time) Mon Mar 27 2017 17:30:00 GMT+0530 (India Standard Time)

Методы даты JavaScript:

1) Как преобразовать дату JavaScript в строку?

Чтобы преобразовать объект даты JavaScript в строку, мы используем метод Object.toString(). Этот метод возвращает строку, и тогда мы можем использовать ее в HTML.

Пример Date.toString:

const date = new Date(); const dateString = date.toString();

Вывод:

Fri Mar 11 2022 00:16:04 GMT+0530 (India Standard Time) Fri Mar 11 2022 00:16:04 GMT+0530 (India Standard Time)

Хотя кажется, что они выводят одно и то же, под капотом они разные. Давайте сначала проверим типы этих двух констант.

console.log(typeof date); console.log(typeof dateString);

Результат:

object string

Таким образом, приведенные выше результаты показывают, что константа даты — это объект даты, а константа dateString — строка.

typeof проверяет тип переменной.

Существует еще один метод преобразования объекта даты JavaScript в строку. Это метод .toDateString(). Метод .toDateString() преобразует объект даты в более удобочитаемую строку даты. Кроме того, он опускает время и отображает только дату.

Пример метода .toDateString():

const date = new Date(); console.log(date.toDateString());

Результат приведенного выше блока кода:

Fri Mar 11 2022

Также читайте: Что такое стек вызовов в Javascript и почему это важно

2) Как преобразовать объект даты JavaScript в UTCString?

Чтобы преобразовать объект даты JavaScript в строку UTCString, мы используем метод .toUTCString().

UTC означает всемирное координированное время и является стандартом отображения даты.

Пример метода UTCString:

const date = new Date(); console.log(date.toUTCString());

Код приводит к следующему выводу:

Fri, 11 Mar 2022 18:10:03 GMT

3) Как преобразовать дату JavaScript в строку ISO?

Чтобы преобразовать объект даты JavaScript в строку ISO, мы используем расширение . Метод toISOString(). Он преобразует объект даты в строку в соответствии со стандартом ISO.

Пример метода toISOString()?

const date = new Date(); console.log(date.toISOString()):

Результат приведенного выше кода:

2022-03-11T18:21:54.579Z

4 Как разобрать дату в JavaScript?

Если у нас есть допустимая строка даты и мы хотим преобразовать ее в объект даты, мы используем статический метод Date.parse() и новую дату (миллисекунды).

Метод Date.parse() принимает строковый параметр и возвращает количество миллисекунд между строкой даты и 1 января 1970 года. Теперь вы можете использовать эти миллисекунды для создания объекта даты.

Пример парсинга даты в JavaScript?

const milliseconds =Date.parse("October 25, 1998"); const date = new Date(milliseconds); console.log(milliseconds); console.log(date)

Результат приведенного выше кода:

909253800000Sun Oct 25 1998 00:00:00 GMT+0530 (India Standard Time)

5) Методы получения даты JavaScript?

а) Дата.сейчас();

Чтобы получить количество миллисекунд с полуночи 1 января 1970 года, мы используем метод Date.now(). Date.now() — это статический метод, который нельзя использовать для объекта даты.

Пример:

console.log(Date.now());

Результат:

1647025358563

б) .getDate();

.getDate() используется для получения дня месяца.

Пример:

const date = new Date(); const date =date.getDate(); console.log(date);

Результат:

12

в) .getDay();

Чтобы получить день недели, мы используем метод .getDay().

Пример:

const date = new Date(); const dayOfTheWeek = date.getDay(); console.log(dayOfTheWeek);

Результат:

6

г) .getFullYear();

Чтобы получить год из объекта даты, мы используем метод .getFullYear(). Метод .getFullYear() возвращает год, например 2018, 2019 и т. д.

Пример:

const date = new Date(); const year =date.getFullYear(); console.log(year);

Результат:

2022

д) .getHours();

Для получения часов используется метод .getHours(). Например,

Пример:

const date = new Date(); const hours = date.hours(); console.log(hours);

Результат:

0

е) .getMinutes();

.getMinutes() возвращает минуты из объекта даты, например,

Пример:

const date = new Date(); const minutes = date.getMinutes(); console.log(minutes);

Результат:

47

ж) .getMonth();

Чтобы получить месяц из объекта даты, мы используем, например, метод .getMonth().

Пример:

const date = new Date(); const month=date.getMonth(); console.log(month);

Результат:

2 // March

Следует отметить, что месяцы JavaScript отсчитываются от нуля. Проще говоря, они начинаются с 0, и под нулем мы подразумеваем январь, а под 1 мы подразумеваем февраль. То же самое верно и для других месяцев.

з) .getSeconds();

Чтобы получить секунды из объекта даты JavaScript, мы используем метод .getSeconds(), например

Пример:

const date = new Date(); const seconds =date.getSeconds(); console.log(seconds);

Результат:

45

я) .getMilliseconds();

Метод .getMilliseconds() используется для получения миллисекунд из объекта даты. например.

Пример:

const date = new Date(); const milliseconds =date.getMilliseconds(); console.log(milliseconds);

Результат:

35

Примечание. JavaScript Date.now() и .getMilliseconds() — это два разных метода. Date.now() возвращает количество миллисекунд, прошедших с полуночи 1 января 1970 года, а .getMilliseconds() возвращает миллисекунды из объекта даты.

6) Методы установки даты в JavaScript?

а) .setDate()

Метод .setDate() устанавливает дату месяца объекта даты JavaScript, например

Пример:

const date = new Date(); console.log(newDate(date.setDate(2049)));

Метод .setDate() возвращает миллисекунды. Мы передаем эти миллисекунды новому конструктору Date(), чтобы получить объект даты.

Приведенный выше код приводит к следующему выводу

Sat Mar05 2022 23:45:29 GMT+0530 (India Standard Time)

Следует отметить, что месяцы JavaScript отсчитываются от нуля, поэтому 1 означает январь и так далее.

Кроме того, если будет передано число больше последнего дня месяца, это не приведет к ошибке. Но просто увеличит месяц.

б) .setFullYear()

Например, метод .setFullYear() устанавливает год объекта даты JavaScript.

Пример:

const date = new Date(); console.log(newDate(date.setFullYear(2049)));

Приведенный выше код приводит к следующему выводу

Sat Mar 052049 23:45:29 GMT+0530 (India Standard Time)

в) .setMonth()

Например, метод .setMonth() устанавливает месяц объекта даты JavaScript.

Пример:

const date = new Date(); console.log(newDate(date.setMonth(10)));

Приведенный выше код приводит к следующему выводу

SatNovember 05 2049 23:45:29 GMT+0530 (India Standard Time)

Следует отметить, что месяцы JavaScript начинаются с нуля, поэтому 01 означает январь и так далее.

Кроме того, если в метод .setMonth() будет передано число больше 11, это не приведет к ошибке. Но просто увеличит год.

г) .setHours()

Например, метод .setHours() устанавливает часы объекта даты JavaScript.

Пример:

const date = new Date(); console.log(newDate(date.setHours(10)));

Приведенный выше код приводит к следующему выводу

Sat November 05 204910:45:29 GMT+0530 (India Standard Time)

д) .setMinutes()

. Метод setMinutes() устанавливает минуты объекта даты JavaScript, например

Пример:

const date = new Date(); console.log(newDate(date.setMinutes(10)));

Приведенный выше код приводит к следующему выводу

Sat November 05 2049 23:10:29 GMT+0530 (India Standard Time)

е) .setSeconds()

Метод .setSeconds() устанавливает секунды объекта даты JavaScript, например

Пример:

const date = new Date(); console.log(newDate(date.setSeconds(30)));

Приведенный выше код приводит к следующему выводу

Sat November 05 2049 23:45:30 GMT+0530 (India Standard Time)

7) Как сравнить два объекта даты в JavaScript?

Чтобы сравнить два объекта даты в JavaScript, выполните следующие действия.

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

const date1 = new Date(); const date2 = new Date(2015, 2, 25, 14, 22, 12, 33);

Теперь мы будем использовать метод .getTime(), чтобы получить количество миллисекунд для обоих объектов даты.

const date1Milli = date1.getTime(); const date2Milli = date2.getTime();

Наконец, давайте сравним миллисекунды.

if(date1Milli > date2Milli) { console.log("date1 is a more recent date"); } else { console.log("date2 is a more recent date"); }

Результатом приведенного выше блока кода является

"date1 is a more recent date"

Дата1 является более поздней датой

Метод .getTime() возвращает количество миллисекунд, прошедших с 1 января 1970 года. Чем больше количество миллисекунд, тем более поздняя дата.

Попробуйте сравнить два объекта даты в JavaScript на Codepen:

См. Pen сравните два объекта даты в JavaScript от nadeem (@nasyxnadeem) на CodePen.

8) Как добавить дни к дате JavaScript?

Во-первых, создайте объект даты.

const date = new Date();

Теперь получите день месяца с помощью метода .getDate().

const getDay = date.getDate();

Используйте метод .setDate(), чтобы установить новый день месяца. Здесь мы добавляем 1 день к дате. Вы можете добавить количество дней согласно вашему требованию.

const newDateinMillis = date.setDate(getDay + 1);

Метод .setDate() возвращает количество миллисекунд, прошедших с 1 января 1970 года, которое нам нужно, чтобы преобразовать его обратно в объект даты. Итак, мы используем конструктор new Date(milliseconds), чтобы создать из него новую дату.

const newDate = new Date(newDateinMillis);

Попробуйте добавить дни к дате JavaScript на Codepen:

См. Pen Добавить дни к дате JavaScript от nadeem (@nasyxnadeem) на CodePen.

8) Как получить максимальную дату (самую последнюю дату) в массиве объектов даты?

Если у вас есть массив дат и вы хотите получить из него самую последнюю дату или максимальную дату. Вот пример, где мы получаем максимальную дату из массива дат.

Шаг 1. Создайте массив дат.

const date = new Date(); const date2 = new Date(1998, 3, 25); const date3 = new Date(2003, 3, 25); const date4 = new Date(2007, 3, 25); const dateArr = [date, date2, date3, date4];

Теперь, чтобы получить самую последнюю дату, мы сначала перебираем массив, используя функцию map().

И получите количество миллисекунд, прошедших с 1 января 1970 года, используя функцию .getTime() для каждой записи даты.

dateArr.map(a=> a.getTime()

Поскольку функция map() возвращает массив миллисекунд, мы расширяем массив дат с помощью оператора spread(…).

Подробнее о методе map() читайте здесь, Упрощенные функции высшего порядка JavaScript — map(), reduce() и filter()

(...dateArr.map(a=> a.getTime())

Теперь, используя функцию Math.max(), мы получаем максимальное количество миллисекунд.

Math.max(...dateArr.map(a=> a.getTime()))

Наконец, мы передаем миллисекунды конструктору даты, чтобы получить объект даты.

const maxDate =new Date(Math.max(...dateArr.map(a=> a.getTime())));

Попробуйте получить максимальную дату (самую последнюю дату) в массиве объектов даты на Codepen:

См. Pen получить максимальную дату (самую последнюю дату) в массиве объектов даты JavaScript от nadeem (@nasyxnadeem) на CodePen.

9) Как отсортировать массив дат в JavaScript?

Давайте возьмем пример для сортировки массива дат, приведенного ниже.

const date = new Date(); const date2 = new Date(1998, 3, 25); const date3 = new Date(2003, 3, 25); const date4 = new Date(2007, 3, 25); const dateArr = [date, date2, date3, date4];

а) В порядке убывания:

Давайте сначала отсортируем приведенный выше массив дат в порядке убывания. Под нисходящим порядком мы подразумеваем, что самая последняя дата станет первой датой и так далее.

const sortedArr = dateArr.sort((a, b) => b.getTime() - a.getTime());

В приведенном выше примере мы используем метод sort для сортировки массива, а в функции обратного вызова мы преобразуем записи даты в миллисекунды с помощью метода .getTime().

Следует отметить, что sortedArr содержит миллисекунды, а не объекты фактической даты. Чтобы преобразовать его обратно в объекты даты, нам снова нужно использовать функцию-конструктор new Date().

const sortedDates = sortedArr.map(a => new Date(a));

sortedDates — это фактический массив дат.

б) В порядке возрастания:

Порядок по возрастанию работает так же, как порядок по убыванию. Но есть небольшое, но важное отличие. Давайте продемонстрируем это с помощью кода.

const sortedArr = dateArr.sort((a, b) =>a.getTime() - b.getTime());

Попробуйте отсортировать массив дат JavaScript на Codepen:

См. Pen Сортировка массива дат в JavaScript автора nadeem (@nasyxnadeem) на CodePen.

10) Как установить смещение часового пояса с помощью JavaScript?

Смещение часового пояса в JavaScript — это разница между местным временем и временем UTC в минутах. Смещение часового пояса вычисляется с помощью метода .getTimezoneOffset(). Метод .getTimezone offset() возвращает минуты.

const date = new Date(); let difference = date.getTimezoneOffset(); console.log(difference);

Вывод:

-330

11) Как преобразовать дату в объект JSON?

Чтобы преобразовать объект даты JavaScript в объект JSON, мы используем, например, метод .toJSON().

const date = new Date(); console.log(date.toJSON())

Вывод:

"2022-03-13T19:08:02.760Z"

12) Получить дату в локали из объекта даты JS?

Чтобы получить дату в строке локали, мы используем метод .toLocaleDateString(). Например, он возвращает только дату, а не время.

const date = new Date();
const text = date.toLocaleDateString();
console.log(text);

Вывод:

"3/14/2022"

13) Получить время в локали из объекта даты JS?

Чтобы получить время в строке локали, мы используем метод .toLocaleTimeString(). Например, он возвращает только время, а не дату.

const date = new Date();
const text = date.toLocaleTimeString();
console.log(text);

Вывод:

"12:44:07 AM"

Also read: 10 CSS pro tips, code this not that
14) Get date and time in locale from a JS date object?
To get both date and time in locale string we use the .toLocaleString() method. It returns both the date and the time, for example.
const date = new Date();
const text = date.toLocaleString();
console.log(text);
Output:
"3/14/2022, 12:45:36 AM"

Заключение:

Although we didn't cover everything about the date in JavaScript we made sure to cover the most important topics that you'd need in building JavaScript apps. We hope you got the most out of it. If you liked the content, please leave feedback in the comment section. And for more information please refer to JavaScript date Object Tutorial on W3School and JavaScript date reference on W3School or Date -MDN Web Docs.

Первоначально опубликовано на https://codipher.com 15 марта 2022 г.