Обратный расчет имеет больше магических чисел для вашего развлечения:

ужно конвертировать из стандартагригорианский дата дляюлианский номер дня

Я не видел ничего задокументированного в C #, чтобы сделать это напрямую, но я нашел много постов (в то время как поиск в Google), предлагающих использоватьToOADate.

Документация поToOADate не предлагает это в качестве действительного метода преобразования для юлианских дат.

Может кто-нибудь уточнить, будет ли эта функция выполнять преобразование точно, или, возможно, более подходящий метод для преобразования DateTime в строку в формате Юлиана.

Этот предоставляет мне ожидаемое число при проверке противСтраница Юлианского Дня Википедии

public static long ConvertToJulian(DateTime Date)
{
    int Month = Date.Month;
    int Day = Date.Day;
    int Year = Date.Year;

    if (Month < 3)
    {
        Month = Month + 12;
        Year = Year - 1;
    }
    long JulianDay = Day + (153 * Month - 457) / 5 + 365 * Year + (Year / 4) - (Year / 100) + (Year / 400) + 1721119;
    return JulianDay;
}

Тем не менее, это без понимания используемых магических чисел.

Спасибо

Рекомендации:

Метод DateTime.ToOADate

Ответы на вопрос(5)

Ваш ответ на вопрос