我有一个朱利安日期:1104-08-16,如何将其转换为c#中的格里高利日期?
我找到了以下链接... link link。但所有这些都使用julian日期值作为float / decimal。
在我的情况下,朱利安不是浮动的,它是实际的日期。
任何帮助都将不胜感激。
答案 0 :(得分:1)
如果您不了解或不关心时区,可以尝试以下方法。我使用这种方法是因为我无法找到一种解析方法,允许您指定要解释输入的日历。
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();
}
}
}