Введение
Работа с датами и временем является важной частью программирования на JavaScript. JavaScript предоставляет встроенные методы для создания, манипулирования и форматирования дат и времени с использованием объекта Date
. В этом уроке мы рассмотрим основные методы работы с объектом Date
и научимся эффективно использовать их в ваших веб-приложениях.
Создание объектов Date
- Создание текущей даты и времени Объект
Date
можно создать без параметров, чтобы получить текущую дату и время:
let now = new Date();
console.log(now); // Текущая дата и время
- Создание даты с использованием строки Вы можете создать объект
Date
, передав строку с датой:
let specificDate = new Date("2024-07-07");
console.log(specificDate); // Дата 7 июля 2024 года
- Создание даты с использованием числовых значений Также можно создать дату, передав год, месяц, день и другие параметры:
let specificDate = new Date(2024, 6, 7); // Месяцы считаются с 0, поэтому 6 - это июль
console.log(specificDate); // Дата 7 июля 2024 года
Методы работы с объектом Date
- Получение текущих значений
- getFullYear(): Возвращает год
let year = now.getFullYear(); console.log(year); // 2024
- getMonth(): Возвращает месяц (0-11)
let month = now.getMonth(); console.log(month); // 6 (июль)
- getDate(): Возвращает день месяца (1-31)
let day = now.getDate(); console.log(day); // 7
- getHours(): Возвращает часы (0-23)
let hours = now.getHours(); console.log(hours); // Текущий час
- getMinutes(): Возвращает минуты (0-59)
let minutes = now.getMinutes(); console.log(minutes); // Текущая минута
- getSeconds(): Возвращает секунды (0-59)
let seconds = now.getSeconds(); console.log(seconds); // Текущая секунда
- getMilliseconds(): Возвращает миллисекунды (0-999)
javascript let milliseconds = now.getMilliseconds(); console.log(milliseconds); // Текущая миллисекунда
Установка значений даты и времени
- setFullYear(year, [month], [date])
now.setFullYear(2025);
console.log(now.getFullYear()); // 2025
- setMonth(month, [date])
now.setMonth(11); // Декабрь
console.log(now.getMonth()); // 11
- setDate(date)
now.setDate(25);
console.log(now.getDate()); // 25
- setHours(hours, [minutes], [seconds], [milliseconds])
now.setHours(15);
console.log(now.getHours()); // 15
- setMinutes(minutes, [seconds], [milliseconds])
now.setMinutes(45);
console.log(now.getMinutes()); // 45
- setSeconds(seconds, [milliseconds])
now.setSeconds(30);
console.log(now.getSeconds()); // 30
Форматирование даты и времени
- toDateString(): Возвращает только дату
console.log(now.toDateString()); // "Tue Jul 07 2024"
- toTimeString(): Возвращает только время
console.log(now.toTimeString()); // "15:45:30 GMT+0000 (Coordinated Universal Time)"
- toLocaleDateString(): Возвращает дату в локальном формате
console.log(now.toLocaleDateString()); // "7/7/2024" (для США)
- toLocaleTimeString(): Возвращает время в локальном формате
console.log(now.toLocaleTimeString()); // "3:45:30 PM" (для США)
Заключение
Работа с датами и временем в JavaScript является важным аспектом разработки веб-приложений. Понимание методов создания, получения и установки значений даты и времени, а также форматирования дат поможет вам эффективно управлять временными данными в ваших проектах.
Контрольные вопросы
- Какой метод возвращает текущий год?
getFullYear()
getMonth()
getDate()
getYear()
- Как создать объект Date с текущей датой и временем?
new Date()
Date.now()
new Date(Date.now())
Date.current()
- Какой метод используется для установки месяца даты?
setMonth()
setFullMonth()
updateMonth()
changeMonth()
- Какой метод возвращает дату в локальном формате?
toLocaleDateString()
toDateString()
toString()
toLocalDate()
- Какой результат выполнения метода
toDateString()
?
- Возвращает строку, представляющую только дату.
- Возвращает строку, представляющую только время.
- Возвращает объект Date.
- Возвращает текущий день недели.
- Какой метод возвращает количество миллисекунд с начала Unix эпохи?
getTime()
getMilliseconds()
getEpoch()
getMillis()
Упражнения
- Создайте объект
Date
с текущей датой и временем и выведите его в консоль.
let now = new Date();
console.log(now);
- Создайте объект
Date
с датой «2023-12-31» и выведите год этой даты в консоль.
let newYearEve = new Date("2023-12-31");
console.log(newYearEve.getFullYear()); // 2023
- Создайте объект
Date
с датой «2022-01-01» и измените его месяц на декабрь. Выведите обновленный объект в консоль.
let date = new Date("2022-01-01");
date.setMonth(11); // Декабрь
console.log(date);
- Создайте объект
Date
с текущей датой и временем. Установите время на 14:30:00 и выведите обновленный объект в консоль.
let now = new Date();
now.setHours(14, 30, 0);
console.log(now);
- Напишите код, который выводит текущую дату в формате «дд/мм/гггг».
let now = new Date();
let formattedDate = now.getDate() + "/" + (now.getMonth() + 1) + "/" + now.getFullYear();
console.log(formattedDate);
- Создайте объект
Date
с датой «2023-11-01» и выведите день недели этой даты в консоль.
let date = new Date("2023-11-01");
console.log(date.getDay()); // 3 (Среда, если неделя начинается с воскресенья)
- Напишите код, который выводит текущее время в формате «чч:мм:сс».
let now = new Date();
let formattedTime = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
console.log(formattedTime);
- Создайте объект
Date
с датой «2022-05-15T10:00:00Z» и выведите время в локальном формате.
let date = new Date("2022-05-15T10:00:00Z");
console.log(date.toLocaleTimeString());
- Напишите функцию, которая принимает дату и возвращает ее в формате «Год-Месяц-День».
function formatDate(date) {
return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
}
let now = new Date();
console.log(formatDate(now));
- Напишите код, который добавляет 7 дней к текущей дате и выводит обновленную дату в консоль.
let now = new Date();
now.setDate(now.getDate() + 7);
console.log(now);