将儒略日期(不是双倍日期,而是日期)转换为公历日期

Convert juilan date (not as double, but date) to gregorian date

我有一个儒略日期:1104-08-16,如何在 C# 中将其转换为公历日期?

我找到了以下链接...link link。但他们都使用朱利安日期值作为 float/decimal.

在我的例子中,julian 不是浮动日期,而是实际日期。

如有任何帮助,我们将不胜感激。

如果您不知道或不关心时区,可以尝试以下方法。我使用这种方法是因为找不到允许您指定解释输入的日历的解析方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;

namespace julian2gregorian
{
    class Program
    {
        private static JulianCalendar jcal;
        static void Main(string[] args)
        {
            jcal = new JulianCalendar();
            string jDateString = "1104-08-16";
            char[] delimiterChars = { '-' };
            string[] dateParts = jDateString.Split(delimiterChars);
            int jyear, jmonth, jday;
            bool success = int.TryParse(dateParts[0], out jyear);
            success = int.TryParse(dateParts[1], out jmonth);
            success = int.TryParse(dateParts[2], out jday);
            DateTime myDate = new DateTime(jyear, jmonth, jday, 0, 0, 0, 0, jcal);
            Console.WriteLine("Date converted to Gregorian: {0}", myDate);
            Console.ReadLine();
        }
    }
}