Отсутствие нулей при выводе времени + неправильный месяц
Приветствую форумчан и сразу же предупреждаю, что не имею большого опыта работы с JS и вопрос может показаться нубским, но прошу строго не судить.
Суть в следующем: Использую следующие скрипты для вывода времени: <script> Data = new Date(); Year = Data.getFullYear(); Month = (Data.getMonth()+ 1); Day = Data.getDate(); Hour = Data.getHours(); Minutes = Data.getMinutes(); Seconds = Data.getSeconds(); </script> <script> document.write(Day + "." ); document.write(Month + "."); document.write(Year + ", "); document.write(Hour + ":" ); document.write(Minutes); </script> Проблему с некорректным выводом месяца (показывает на месяц назад) я решил подобным "костылём": просто добавил "+1" к имеющемуся значению. Не знаю, насколько это корректно, поэтому буду рад узнать, почему происходит подобный баг и какие есть более целесообразные методы его устранения. Но больше всего меня интересует следующее: когда числовые значения являются однозначными, то они отображаются без нуля в начале: 19:02 показывается как 19:2, 08:41 - как 8:41, 18.06.2020 - как 18.6.2020. Как можно исправить это? Буду благодарен за решение. UPD1: приношу извинения за, возможно, некорректный раздел. Сам пользуюсь Firefox Nightly, последний на сегодня билд. UPD2: всё решено, спасибо рони. |
|
Вывод даты с применением Intl.DateTimeFormat
Цитата:
<script> Data = new Date(); Year = Data.getFullYear(); Month = (Data.getMonth()+ 1); Day = Data.getDate(); Hour = Data.getHours(); Minutes = Data.getMinutes(); Seconds = Data.getSeconds(); var formatter = new Intl.DateTimeFormat("ru", { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" }); </script> А как можно вывести день, месяц, год, часы и минуты используя document.write, чтобы это произошло с учётом заданных условий? И корректны ли они вообще? Спасибо. |
форматирование даты
rightuser,
<!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> let Data = new Date(); let formatter = new Intl.DateTimeFormat("ru", { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" }); document.write(formatter.format(Data)) </script> </body> </html> |
Часовой пояс GMT +3, время: 19:01. |