Для выбранного года мне нужно вычислить первый день и последний день этого года в JavaScript - PullRequest
0 голосов
/ 26 января 2020

Для выбранного года, например: «2020». Мне нужно вычислить с JavaScript первый и последний день выбранного года в формате: «2020-01-01» и «2020-12-31»

Может кто-нибудь помочь мне с этим? Можно будет сделать это с Моментом. js? Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 26 января 2020

Я думаю, что самый простой и быстрый подход - ничего не «вычислять». Вам не нужно.

function firstOfYear(year) {
  return `${year}-01-01`;
}

function lastOfYear(year) {
  return `${year}-12-31`;
}

const start = firstOfYear(2020); // 2020-01-01
const end = lastOfYear(2020); // 2020-12-31

Возможно, вам даже не понадобятся эти функции, в зависимости от вашего варианта использования.

Эти функции не предназначены для повторного использования, так что если у вас есть другие даты Вы хотите отформатировать, тогда некоторые другие ответы будут более гибкими. Но если все, что вам нужно сделать, это получить первый и последний год, то я рекомендую вам сделать это просто.

1 голос
/ 26 января 2020

Вы можете достичь этого простым способом

var formatDate = function(year, month, day)
{
    if (month < 10) 
        month = '0' + month;
    if (day < 10) 
        day = '0' + day;

    return [year, month, day].join('-');
}

var printDate = function(year){
   console.log("Frist day: " + formatDate(year, 1, 1));
   console.log("Last day: " + formatDate(year, 12, 31));
}

printDate(2020);
0 голосов
/ 26 января 2020

CalculateDates = function(year){
    console.log('first day: ' + new Date(year, 0, 1, 4).toJSON().split('T')[0]);
    console.log('last day: '  + new Date(year, 12, 0, 4).toJSON().split('T')[0]);
}
CalculateDates(2019)
...