我想将包括小时分钟和秒钟的Julian日期转换为C#中的DateTime。Julian约会日期时间包括小时和分钟
这是数:2457285.7795969
我可以计算DateTime
不含小时和具有这种功能的分钟数。
public static DateTime FromJulian(long julianDate)
{
long L = julianDate + 68569;
long N = (long)((4 * L)/146097);
L = L - ((long)((146097 * N + 3)/4));
long I = (long)((4000 * (L + 1)/1461001));
L = L - (long)((1461 * I)/4) + 31;
long J = (long)((80 * L)/2447);
int Day = (int)(L - (long)((2447 * J)/80));
L = (long)(J/11);
int Month = (int)(J + 2 - 12 * L);
int Year = (int)(100 * (N - 49) + I + L);
return new DateTime(Year, Month, Day);
}
既然你想要第二时间,请记住,闰秒可以使一天的时间为86,001秒而不是通常的86,000秒。普遍认为,JD的整数部分应该仅取决于UT日期(即,如果冬季保持全年的话,则为皇家格林威治时间的日期)。关于每天闰秒的分数不怎么被普遍认同。一种解决方法是将午夜以后的秒数除以86,001。你必须处理的最早和最晚的日期是什么? –