C#でユリウス通日とDateTimeを相互変換する
2019年12月25日 (水) 03:59時点におけるAdministrator (トーク | 投稿記録)による版
stackoverflowで見つけたのだがブラウザ閉じてしまってURLが分からなくなった。
DateTimeからユリウス通日(double型)を生成する。
public static class DateTimeExtensions
{
static readonly double JulianValue = 2415018.5;
static readonly double ModifiedJulianValue = 2400000.5;
public static double ToJulianDate(this DateTime date)
{
return date.ToOADate() + JulianValue;
}
public static double ToModifiedJulianDate(this DateTime date)
{
return date.ToOADate() + ModifiedJulianValue;
}
}
ユリウス通日(double型)からDateTimeを生成する。
public static class DateTimeUtil
{
static readonly double JulianValue = 2415018.5;
static readonly double ModifiedJulianValue = 2400000.5;
public static DateTime FromJulianDate(double julianDate)
{
return DateTime.FromOADate(julianDate - JulianValue);
}
public static DateTime FromModifiedJulianDate(double julianDate)
{
return DateTime.FromOADate(julianDate - ModifiedJulianValue);
}
}