Объекты даты JavaScript


Оглавление

    Показать оглавление


<script>xxx=new Date()

JavaScript Объекты даты позволяет нам работать с датами:

<script>document.write(xxx)

Год:

<script>document.write(xxx.getFullYear())

Пример получения текущего года в Javascript:

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The getFullYear() Method</h2>
<p>Return the full year of a date object:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();
</script>

</body>
</html>

Месяц:

<script>document.write(xxx.getMonth()+1)

Пример получения текущего месяца в Javascript:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getMonth() Method</h2>
<p>Return the month of a date as a number from 0 to 11.</p>
<p>To get the correct month number, you must add 1:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getMonth() + 1;
</script>

</body>
</html>

День:

<script>document.write(xxx.getDate())

Пример получения текущего дня в Javascript:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getDate() Method</h2>
<p>Return the day of a date as a number (1-31):</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getDate();
</script>

</body>
</html>

Часы:

<script>document.write(xxx.getHours())

Пример получения текущего часа в Javascript:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getHours() Method</h2>
<p>Return the hours of a date as a number (0-23):</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getHours();
</script>

</body>
</html>

Минуты:

<script>document.write(xxx.getMinutes())

Пример получения текущей минуты в Javascript:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getMinutes() Method</h2>
<p>Returns the minutes of a date as a number (0-59):</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes();
</script>

</body>
</html>

Секунды:

<script>document.write(xxx.getSeconds())

Пример получения текущей секунды в Javascript:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getSeconds() Method</h2>
<p>Return the seconds of a date as a number (0-59):</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds();
</script>

</body>
</html>

Примеры

const d = new Date();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>new Date() without arguments, creates a date object with the current date and time:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>
const d = new Date("2022-03-25");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("2022-03-25");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Примечание

Объекты даты являются статическими. «Часы» не «бегут».

Компьютерные часы тикают, объекты с датой — нет.


Вывод даты JavaScript

По умолчанию JavaScript будет использовать часовой пояс браузера и отображать дату в виде полной текстовой строки:

<script>document.write(xxx)

Подробнее о том, как отображать даты, вы узнаете позже в этом уроке.


Создание объектов даты

Объекты даты создаются с помощью новый конструктор Date().

Существует 9 способов создать новый объект даты:

new Date()
new Date(date string)

new Date(year,month)
new Date(year,month,day)
new Date(year,month,day,hours)
new Date(year,month,day,hours,minutes)
new Date(year,month,day,hours,minutes,seconds)
new Date(year,month,day,hours,minutes,seconds,ms)

new Date(milliseconds)

JavaScript новая дата()

new Date() создает объект даты с текущими датой и временем:

Пример

const d = new Date();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>Create a new date object with the current date and time:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

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

new Date(строка даты) создает объект даты из строки даты:

Примеры

const d = new Date("October 13, 2014 11:13:00");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p>A date object can be created with a specified date and time:</p>
<p id="demo"></p>

<script>
const d = new Date("October 13, 2014 11:13:00");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>
const d = new Date("2022-03-25");

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("2022-03-25");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Форматы строк даты описаны в следующей главе.


новая дата(год, месяц, ...)

new Date(год, месяц, ...) создает объект даты с указанными датой и временем.

7 цифр обозначают год, месяц, день, час, минуту, секунду и миллисекунду (именно в таком порядке):

Пример

const d = new Date(2018, 11, 24, 10, 33, 30, 0);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>Using new Date(7 numbers), creates a new date object with the specified date and time:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Примечание

JavaScript считает месяцы от 0 до 11:

Январь=0.

Декабрь=11.

Указание месяца больше 11 не приведет к ошибке, но добавит переполнение к следующему году:

Указание:

const d = new Date(2018, 15, 24, 10, 33, 30);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript new Date()</h1>

<p>JavaScript counts months from 0 to 11.</p>
<p>Specifying a month higher than 11, will not result in an error but add the overflow to the next year:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 15, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Такой же как:

const d = new Date(2019, 3, 24, 10, 33, 30);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript new Date()</h1>

<p>JavaScript counts months from 0 to 11.</p>

<p id="demo"></p>

<script>
const d = new Date(2019, 3, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Указание дня, превышающего максимальное, не приведет к ошибке, но добавит переполнение к следующему месяцу:

Указание:

const d = new Date(2018, 5, 35, 10, 33, 30);

Такой же как:

const d = new Date(2018, 6, 5, 10, 33, 30);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>JavaScript counts months from 0 to 11.</p>
<p>Specifying a day higher than max, will not result in an error but add the overflow to the next month:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 05, 35, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Использование 6, 4, 3 или 2 чисел

6 цифр обозначают год, месяц, день, час, минуту, секунду:

Пример

const d = new Date(2018, 11, 24, 10, 33, 30);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>6 numbers specify year, month, day, hour, minute and second:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11, 24, 10, 33, 30);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

5 цифр обозначают год, месяц, день, час и минуту:

Пример

const d = new Date(2018, 11, 24, 10, 33);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>5 numbers specify year, month, day, hour, and minute:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11, 24, 10, 33);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

4 цифры обозначают год, месяц, день и час:

Пример

const d = new Date(2018, 11, 24, 10);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>4 numbers specify year, month, day, and hour:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11, 24, 10);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Три цифры обозначают год, месяц и день:

Пример

const d = new Date(2018, 11, 24);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>3 numbers specify year, month, and day:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

2 цифры обозначают год и месяц:

Пример

const d = new Date(2018, 11);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>2 numbers specify year and  month:</p>

<p id="demo"></p>

<script>
const d = new Date(2018, 11);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Вы не можете опустить месяц. Если вы укажете только один параметр, он будет считаться миллисекундами.

Пример

const d = new Date(2018);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>One parameter will be interpreted as new Date(milliseconds).</p>

<p id="demo"></p>

<script>
const d = new Date(2018);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Предыдущий век

Год из одной и двух цифр будет интерпретироваться как 19xx:

Пример

const d = new Date(99, 11, 24);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>Two digit years will be interpreted as 19xx:</p>

<p id="demo"></p>

<script>
const d = new Date(99, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Пример

const d = new Date(9, 11, 24);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>
<p>One digit years will be interpreted as 19xx:</p>

<p id="demo"></p>

<script>
const d = new Date(9, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

JavaScript хранит даты в миллисекундах

JavaScript хранит даты в миллисекундах с 1 января 1970 года.

Нулевое время — 01 января 1970 г., 00:00:00 UTC.

Один день (24 часа) равен 86 400 000 миллисекунд.

Сейчас время:

<script>document.write(xxx.getTime())

миллисекунды после 1 января 1970 г.


новая дата(миллисекунды)

new Date(миллисекунды) создает новый объект даты как миллисекунды плюс нулевое время:

Примеры

1 января 1970 г. плюс 100 000 000 000 миллисекунд — это:

const d = new Date(100000000000);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p>100000000000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>

<script>
const d = new Date(100000000000);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

1 января 1970 года минус 100 000 000 000 миллисекунд равно:

const d = new Date(-100000000000);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p>-100000000000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>

<script>
const d = new Date(-100000000000);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

1 января 1970 г. плюс 24 часа - это:

const d = new Date(24 * 60 * 60 * 1000);
// or
const d = new Date(86400000);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p>86400000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>

<script>
const d = new Date(86400000);
document.getElementById("demo").innerHTML = d;
</script>

<p>One day (24 hours) is 86,400,000 milliseconds.</p>

</body>
</html>

1 января 1970 г. плюс 0 миллисекунд равно:

const d = new Date(0);

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>

<p>0 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>

<script>
const d = new Date(0);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>


Методы даты

При создании объекта даты существует ряд методов, позволяющих работать с ним. это.

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

Методы даты и часовые пояса описаны в следующих главах.


Отображение дат

JavaScript (по умолчанию) выводит даты с помощью метода toString(). Это строковое представление даты, включая часовой пояс. Формат указан в спецификации ECMAScript:

Пример

<script>document.write(new Date())

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>new Date() without arguments, creates a date object with the current date and time:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Когда вы отображаете объект даты в HTML, он автоматически преобразуется в строку с помощью метода toString().

Пример

const d = new Date();
d.toString();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The toString() Method</h2>

<p>Convert a date to a string:</p>
<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toString();
</script>

</body>
</html>

Метод toDateString() преобразует дату в более читаемый формат. формат:

Пример

const d = new Date();
d.toDateString();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The toDateString() Method</h2>
<p>Convert a date to a date string:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();
</script>

</body>
</html>

Метод toUTCString() преобразует дату в строку, используя стандарт UTC:

Пример

const d = new Date();
d.toUTCString();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The toUTCString() Method</h2>
<p>Convert a date to a string using the UTC standard:</p>

<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
</script>

</body>
</html>

Метод toISOString() преобразует дату в строку, используя стандарт ISO:

Пример

const d = new Date();
d.toISOString();

Попробуйте сами →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Dates</h1>
<h2>The toISOString() Method</h2>

<p>Convert a date to a string using the ISO standard:</p>
<p id="demo"></p>

<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();
</script>

</body>
</html>

Полная ссылка на дату в JavaScript

Для получения полной информации о датах перейдите по ссылке:

Полная ссылка на дату в JavaScript.

Справочник содержит описания и примеры всех свойств Date и методы.