jd2ut ユリウス日を世界標準時に換算する
void jd2ut(int *year, int *month, int *day, int *hour, int *min, int *sec, long j, double d);
year (出力)年 month (出力)月 day (出力)日 hour (出力)時 (0 〜 23) min (出力)分 (0 〜 59) sec (出力)秒 (0 〜 59) j (入力)ユリウス日の整数部分 d (入力)ユリウス日の小数部分
なし
void jd2ut(int *year, int *month, int *day, int *hour, int *min, int *sec, long j, double d) { long c, k, e, s; if (d >= 0.5) { j++; d -= 0.5; } else d += 0.5; if (j >= 2299161) j = j + 1 + (j-1867216)/36524 - (j-1867216)/146096; j += 1524; c = (j - 122.1)/365.25; k = 365L*c + c/4; e = (j - k)/30.6001; *year = c - 4716; *month = e - 1; if (*month > 12) { (*month) -= 12; (*year)++; } *day = j - k - (long)(30.6*e); s = d * 86400 + 0.5; *hour = s / 3600; *min = (s % 3600) / 60; *sec = s % 60; }
そのユリウス日の0.0日は紀元前4713年(-4712年)1月1日の正午で、 翌日の正午がユリウス日1.0日である。1991年6月15日世界標準時0時 のユリウス日は2448422.5日になる。
ユリウス日の起算日紀元前4713年1月1日はユリウス暦による日付で、 ユリウス暦は紀元前46年にユリウス・カエサルが採用したものである。 ユリウス暦は1582年10月4日まで使われ、その翌日はグレゴリオ 暦の同年10月15日である。