C#でユリウス通日とDateTimeを相互変換する
2018年8月14日 (火) 02:47時点におけるimported>Administratorによる版 (Administrator がページ「C Sharp/ユリウス通日とDateTimeを相互変換する」を「C#でユリウス通日とDateTimeを相互変換する」に移動しました)
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);
}
}