C#でユリウス通日とDateTimeを相互変換する

提供: MonoBook
2017年10月31日 (火) 09:33時点におけるimported>Administratorによる版 (ページの作成:「stackoverflowで見つけたのだがブラウザ閉じてしまってURLが分からなくなった。 DateTimeからユリウス通日(double型)を生成する。...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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);
        }        
    }

関連項目