我想將包括小時分鐘和秒鐘的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。你必須處理的最早和最晚的日期是什麼? –