Main Content

juliandate

MATLAB の datetime をユリウス日に変換

説明

jd = juliandate(t) は、tdatetime 値と等価なユリウス日を返します。

  • t のタイム ゾーンが指定されていない場合、juliandatet の時刻を UTC 時刻として扱います。この解釈は、他のコンテキストで "ゾーンなし" の datetime 配列を扱う場合と異なることがあります。たとえば、datetime("now") は現地時間を返すように思うかもしれません。しかし、juliandate はこれを UTC 時間と解釈します。

  • t のタイム ゾーンが指定されている場合、juliandate はタイム ゾーンのオフセットを使用して、UTC を基準としたユリウス日を計算します。

  • juliandate は、t のタイム ゾーンが UTCLeapSeconds である場合を除き、うるう秒を無視します。

ベスト プラクティスは、juliandate を呼び出す前に t のタイム ゾーンを指定することです。

jd = juliandate(t,dateType) は、dateType で指定されたユリウス日の形式を返します。たとえば、datetime 値を修正ユリウス日に変換できます。

すべて折りたたむ

datetime 値を作成し、等価のユリウス日に変換します。ゾーン付きとゾーンなしの datetime 値の間の差を、ユリウス日で表示します。ベスト プラクティスは、juliandate を呼び出す前に datetime 配列のタイム ゾーンを指定することです。

datetime 配列を作成し、タイム ゾーンを指定します。

tStrings = ["2022-02-01 10:05:24", ...
            "2022-04-01 10:05:24", ...
            "2022-10-01 10:05:24", ...
            "2022-12-01 10:05:24"];
t = datetime(tStrings);
t.TimeZone = 'America/New_York'
t = 1x4 datetime
   01-Feb-2022 10:05:24   01-Apr-2022 10:05:24   01-Oct-2022 10:05:24   01-Dec-2022 10:05:24

t1 を等価のユリウス日に変換します。juliandate はユリウス日を計算する際に UTC を基準としたタイム ゾーン オフセットを考慮します。この例では、2022 年 3 月の夏時間への移行と 11 月の夏時間からの移行により、UTC を基準としたタイム ゾーン オフセットが変更されます。そのため、jd(1)jd(4) の小数部分は jd(2)jd(3) とは異なります。

format longG
jd = juliandate(t)
jd = 1×4

             2459612.12875          2459671.08708333          2459854.08708333             2459915.12875

タイム ゾーンがない t のコピーを作成します。この配列を等価のユリウス日に変換します。juliandatetUnzoned の時間を、タイム ゾーン オフセットがない UTC 時間として扱います。

tUnzoned = t;
tUnzoned.TimeZone = '';
jdUnzoned = juliandate(tUnzoned)
jdUnzoned = 1×4

          2459611.92041667          2459670.92041667          2459853.92041667          2459914.92041667

jdUnzonedjd の差を表示します。この差は、tUnzoned での時間 (juliandate はこの時間を UTC 時間として解釈します) と t での時間 (America/New_York タイム ゾーン) の間の時間オフセット (日単位) と等しくなります。

jdUnzoned - jd
ans = 1×4

        -0.208333333488554        -0.166666666511446        -0.166666666511446        -0.208333333488554

入力引数

すべて折りたたむ

入力の日付と時刻。datetime 配列として指定します。

ユリウス日の値の形式。"juliandate" または "modifiedjuliandate" として指定します。

  • dateType"juliandate" の場合、juliandatet の datetime 値を等価のユリウス日に変換します。ユリウス日は、先発グレゴリオ暦の紀元前 4714 年 11 月 24 日正午以降または先発ユリウス暦の紀元前 4713 年 1 月 1 日以降の日数と端数の日数です。

  • dateType"modifiedjuliandate" の場合、juliandatet の datetime 値を等価の修正ユリウス日に変換します。修正ユリウス日は、1858 年 11 月 17 日 00:00:00 以降の日数と端数の日数です。

詳細

すべて折りたたむ

ユリウス日

ユリウス日は、先発グレゴリオ暦の紀元前 4714 年 11 月 24 日正午以降または先発ユリウス暦の紀元前 4713 年 1 月 1 日以降の日数と端数の日数です。

拡張機能

バージョン履歴

R2014b で導入