Форматирование даты и времени [JavaScript]

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
433
Доброго времени суток! Хотел поинтересоваться. Вот я отформатировал дату. Можно ли как-то также отформатировать часы, минуты и секунды? Потому что new Date() вместо 21:30 выдаёт 16:30.
C-подобный:
function formatDate(date) {
    let monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
    let day = date.getDate(), month = date.getMonth(), year = date.getFullYear();
    return `${day} ${monthNames[parseInt(month, 10)]} ${year}`;
}
Ответ после форматирования:
1604773779701.png
 

Flames

New plan of beginning.
Сообщения
676
Реакции
410
Доброго времени суток! Хотел поинтересоваться. Вот я отформатировал дату. Можно ли как-то также отформатировать часы, минуты и секунды? Потому что new Date() вместо 21:30 выдаёт 16:30.
C-подобный:
function formatDate(date) {
    let monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
    let day = date.getDate(), month = date.getMonth(), year = date.getFullYear();
    return `${day} ${monthNames[parseInt(month, 10)]} ${year}`;
}
Ответ после форматирования:
Посмотреть вложение 66775
new Date() зависит от твоего регионе на машине
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
433
Ну или так. Но по - моему легче сменить один раз, и больше не испытывать с этим проблем.
Главное машине не навредить.
Сообщения автоматически склеены:

А к чему сей велосипед?
Есть же: Intl.DateTimeFormat
C-подобный:
options = {
  year: 'numeric', month: 'numeric', day: 'numeric',
  hour: 'numeric', minute: 'numeric', second: 'numeric',
  hour12: false
};
console.log(date.toLocaleString('ru-RU', options));
Я правильно понял?
 
Последнее редактирование:

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Ну или так. Но по - моему легче сменить один раз, и больше не испытывать с этим проблем.
Иногда такой возможности попросту нет

C-подобный:
options = {
  year: 'numeric', month: 'numeric', day: 'numeric',
  hour: 'numeric', minute: 'numeric', second: 'numeric',
  hour12: false
};
console.log(date.toLocaleString('ru-RU', options));
Я правильно понял?
Тайм зону укажи, аля:
JavaScript:
console.log(new Date(Date.now()).toLocaleString('ru-Ru', {
  timeZone: 'Europe/Moscow'
}));
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
433
Иногда такой возможности попросту нет


Тайм зону укажи, аля:
JavaScript:
console.log(new Date(Date.now()).toLocaleString('ru-Ru', {
  timeZone: 'Europe/Moscow'
}));
C-подобный:
var date = new Date();

options = {
  timeZone: 'Europe/Moscow',
  year: 'numeric', month: 'numeric', day: 'numeric',
  hour: 'numeric', minute: 'numeric', second: 'numeric',
  hour12: false
};
console.log(date.toLocaleString('ru-RU', options));
Хорошо. Для МСК время выведено, но как вывести например для Украины?
1604781823520.png
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #10
Я так понимаю, его изменить никак нельзя?
Можно и нужно (имхо), потом по тем же логам ориентироваться сможешь корректно, а гадать и высчитывать время.
но как вывести например для Украины?
Сменить зону на: Europe/Kiev.
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
433
Последний вопрос. Как заставить функцию вернуть не 1 значение, а например 2 или 3?
Тестовая функция:
function test(a, b) {
    a = 5;
    b = 10;
    
    return a; //вернёт a;
    return b; //не вернёт b;
}

test(a, b);
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #13
Последний вопрос. Как заставить функцию вернуть не 1 значение, а например 2 или 3?
Тестовая функция:
function test(a, b) {
    a = 5;
    b = 10;
   
    return a; //вернёт a;
    return b; //не вернёт b;
}

test(a, b);
Не делать return вовсе или же использовать массив.
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
433
Не делать return вовсе или же использовать массив.
Итак. У меня получился следующий код.
Код:
const getMSKTime = () => {
    var date = new Date();

    options = [{
          timeZone: 'Europe/Moscow',
          year: 'numeric', month: 'numeric', day: 'numeric',
          hour: 'numeric', minute: 'numeric', second: 'numeric',
          hour12: false
    }];
  
    //console.log(date.toLocaleString('ru-RU', options));
    //return [a, b]
}

console.log(test()[0], test()[1]);
Теперь вопрос. Как вывести отдельно часы, минуты или что-то другое.
 
Последнее редактирование:

Похожие темы

Ответы
606
Просмотры
99К
Сверху Снизу