Main Content

posixtime

MATLAB datetime の POSIX 時間への変換

説明

p = posixtime(t) は、tdatetime 値と等価な POSIX® 時間を返します。POSIX 時間は、UTC (協定世界時) の 1970 年 1 月 1 日 00:00:00 から経過した秒数 (小数の秒数を含む) で、うるう秒は無視します。pdouble の配列です。

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

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

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

すべて折りたたむ

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

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

t1 = datetime('2016-07-29 10:05:24') + calmonths(1:3);
t1.TimeZone = 'America/New_York'
t1 = 1x3 datetime
   29-Aug-2016 10:05:24   29-Sep-2016 10:05:24   29-Oct-2016 10:05:24

t1 を等価の POSIX 時間に変換します。posixtime は、POSIX 時間の計算時にタイム ゾーン オフセットを考慮します。

format longG
p1 = posixtime(t1)
p1 = 1×3

                1472479524                1475157924                1477749924

t1 と同じ値をもち、タイム ゾーンが設定されていない datetime 配列を作成します。等価の POSIX 時間に変換します。posixtimet2 の時間を UTC 時間として処理し、タイム ゾーン オフセットは適用しません。

t2 = datetime('2016-07-29 10:05:24') + calmonths(1:3);
p2 = posixtime(t2)
p2 = 1×3

                1472465124                1475143524                1477735524

p2p1 の差を表示します。この差は UTC と t1 のタイム ゾーンの間の時間オフセット (秒単位) と等しくなります。

p2 - p1
ans = 1×3

      -14400      -14400      -14400

入力引数

すべて折りたたむ

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

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2014b で導入