Отсутствие нулей при выводе времени + неправильный месяц
Приветствую форумчан и сразу же предупреждаю, что не имею большого опыта работы с 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, время: 14:37. |