Как получить временной интервал в 1 год?

Я хочу получить структуру Timespan, которая представляет год на C #.

24
задан Florian 2 December 2011 в 11:46
поделиться

4 ответа

Ключевой вопрос здесь: какой год?

Продолжительность временного интервала, очевидно, зависит от того, является ли нужный год високосным или нет, и когда он начинается.

Если вам нужен год, начиная с сегодняшнего дня, ответьте @ sehe.

Если вы хотите, чтобы текущий год шел с @Oyvind,

Если вы хотите получить разумное приближение, вы можете использовать @Nayan или использовать 365,25:

TimeSpan oneYearSpan = new TimeSpan(365, 6, 0, 0);
3
ответ дан 28 November 2019 в 23:14
поделиться

Грубый пример:

TimeSpan oneYearSpan = new TimeSpan(365, 0, 0, 0);

Будет ли это делать?

1
ответ дан 28 November 2019 в 23:14
поделиться

Если вы хотите быть достаточно точным, вы можете использовать количество наносекунд в году. Я думаю, что это движется на 0,5 секунды каждое столетие, так что должно быть хорошо еще долго!

public TimeSpan MyYear
{
    get
    { 
        // Year = 3.1556926 × 10^16 nanoseconds
        return new TimeSpan(31556926000000000);
    }
}

На этой странице уже есть несколько хороших ответов, это просто еще один вариант.

1
ответ дан 28 November 2019 в 23:14
поделиться

Вот как это сделать, используя IsLeapYear для определения количества дней.

int span = DateTime.IsLeapYear(1996) ? 366: 365;
var year1996 = new TimeSpan(span, 0, 0, 0);
0
ответ дан 28 November 2019 в 23:14
поделиться
Другие вопросы по тегам:

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