@linuxxx

Как выводить день недели и месяц зная порядковый номер дня года?

Допустим, пишу 34 и выводит -- 3 февраль день недели вск.
С помощью if else получается, но целая лекция. По идее в циклах сделать надо, но как?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
function dateFromDay(year, day){
  const date = new Date(year, 0);
  return new Date(date.setDate(day));
}

dateFromDay(2019, 34); // Sun Feb 03 2019 00:00:00 GMT+0300 (Москва, стандартное время)
Ответ написан
0xD34F
@0xD34F Куратор тега JavaScript
function getDate(day, year = new Date().getFullYear()) {
  const date = new Date(year, 0, day);
  return [
    date.getDate(),
    [
      'январь', 'февраль', 'март', 'апрель', 'май', 'июнь',
      'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'
    ][date.getMonth()],
    [ 'вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб' ][date.getDay()],
  ].join(' ');
}


getDate(115, 2019) // "25 апрель чт"

или

const getDate = (day, year = new Date().getFullYear()) =>
  new Date(year, 0, day).toLocaleString('ru-RU', {
    day: 'numeric',
    month: 'long',
    weekday: 'short',
  });


getDate(115, 2019) // "чт, 25 апреля"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ParaBellum577
https://learn.javascript.ru/datetime Почитайте сначала про дату и время JS, чтобы понимать что происходит. Никакие это не библиотеки) Все уже сделано предельно просто, никакие условия не нужны
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы