ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

datenum

日付と時刻をシリアル日付値に変換

関数 datenum は、個々の時点を 0000 年 1 月 0 日からの日数として表す数値配列を作成します。数値は、日単位での経過時間を表すこともできます。ただし、時点を表す最良の方法は、datetime のデータ型を使用することです。経過時間を表す最良の方法は、duration または calendarDuration のデータ型を使用することです。

構文

  • DateNumber = datenum(t)
  • DateNumber = datenum(DateString)
  • DateNumber = datenum(DateString,formatIn)
  • DateNumber = datenum(DateString,PivotYear)
  • DateNumber = datenum(DateString,formatIn,PivotYear)
  • DateNumber = datenum(DateVector)
  • DateNumber = datenum(Y,M,D)
  • DateNumber = datenum(Y,M,D,H,MN,S)

説明

DateNumber = datenum(t) は、datetime 配列 t の datetime 値をシリアル日付値に変換します。

シリアル日付値は、先発 ISO 暦で事前設定された固定日付 (January 0, 0000) からの日数 (整数および小数) を表します。

DateNumber = datenum(DateString) は、日付と時刻を表すテキストをシリアル日付値に変換します。テキストで使用されている形式が既知の場合は、形式を formatIn として指定します。formatIn なしの構文は、それを含む構文に比べて大幅に遅くなります。

DateNumber = datenum(DateString,formatIn)formatIn を使用して、DateString で表された日付と時刻を解釈します。

DateNumber = datenum(DateString,PivotYear)PivotYear を使用して、年を 2 文字で指定するテキストを解釈します。テキストで使用されている形式が既知の場合は、形式を formatIn として指定します。formatIn なしの構文は、それを含む構文に比べて大幅に遅くなります。

DateNumber = datenum(DateString,formatIn,PivotYear)formatIn を使用して DateString で表された日付と時刻を解釈し、PivotYear を使用して年を 2 文字で指定するテキストを解釈します。formatIn および PivotYear は、いずれの順序でも指定できます。

DateNumber = datenum(DateVector) は、日付ベクトルをシリアル日付値に変換し、 日付値が m 個の列ベクトルを返します。ここで、m は、DateVector における日付ベクトルの総数です。

DateNumber = datenum(Y,M,D) は、YM、および D (年、月、日) 配列の対応する要素のシリアル日付値を返します。配列は、同じサイズ (またはいずれかがスカラー) でなければなりません。入力引数は日付ベクトル [Y,M,D] として指定することもできます。

さらに DateNumber = datenum(Y,M,D,H,MN,S) は、HMNS (時、分、秒) 配列の対応する要素のシリアル日付値を返します。配列は、同じサイズ (またはいずれかがスカラー) でなければなりません。入力引数は日付ベクトル [Y,M,D,H,MN,S] として指定することもできます。

すべて折りたたむ

format long

t = [datetime('now');datetime('tomorrow')]
DateNumber = datenum(t)
t = 

   29-Jan-2016 10:11:50
   30-Jan-2016 00:00:00


DateNumber =

   1.0e+05 *

   7.363584248856982
   7.363590000000000

DateString = '19-May-2001';
formatIn = 'dd-mmm-yyyy';
datenum(DateString,formatIn)
ans =

      730990

datenum は、'dd-mmm-yyyy' の形式で日付を表すテキストの日付値を返します。

複数の日付をセル配列内の文字ベクトルとして渡します。すべての入力日付に同じ形式を使用しなければなりません。

DateString = {'09/16/2007';'05/14/1996';'11/29/2010'};
formatIn = 'mm/dd/yyyy';
datenum(DateString,formatIn)
ans =

      733301
      729159
      734471

既定のピボット年を使用して、日付を表すテキストをシリアル日付値に変換します。

n = datenum('12-jun-17','dd-mmm-yy')
n =

      736858

この日付値を表すテキストは '12-Jun-2017' です。

ピボット年を 1400 に指定して、同じテキストをシリアル日付値に変換します。

n = datenum('12-jun-17','dd-mmm-yy',1400)
n =

      517712

この日付値を表すテキストは '12-Jun-1417' です。

datenum([2009,4,2,11,7,18])
ans =

   7.3387e+05

年、月、日の値で指定された日付をシリアル日付値に変換します。

n = datenum(2001,12,19)
n =

      731204

入力引数

すべて折りたたむ

datetime 値。スカラー、ベクトル、行列または多次元 datetime 配列として指定します。datenum では t のタイム ゾーン情報は考慮されず、夏時間の datetime 値は調整されません。つまり、datenum では tTimeZone プロパティを空として扱い、日付と時刻の残りの情報に基づいてシリアル日付値への変換を行います。

日付ベクトルは、m 行 6 列または m 行 3 列の行列として指定され、それぞれが m の日付ベクトルの全部または一部を含みます。完全な日付ベクトルには、年、月、日、時間、分、および秒をこの順序で指定する 6 つの要素があります。部分的な日付ベクトルには、年、月、および日付をこの順序で指定する 3 つの要素があります。DateVector の各要素は、秒の要素を除き、正または負の整数値でなければなりません。秒の要素は非整数の場合もあります。ある要素が通常の範囲外である場合、datenum ではその日付ベクトル要素と直前の要素の両方が調整されます。たとえば、分の要素が 70 である場合、datenum では時間の要素の値が 1 増やされて、分の要素の値が 10 に設定されます。分の要素が -15 である場合、datevec では時間の要素の値が 1 減らされて、分の要素の値が 45 に設定されます。月の値は例外です。datenum では月の値が 1 未満の場合は 1 に設定されます。

例: [2003,10,24,12,45,07]

データ型: double

日付と時刻を表すテキスト。ある時点を表すテキストが各行に含まれる文字配列、あるいは文字ベクトルからなる 1 次元のセル配列として指定します。文字配列のすべての行、あるいはセル配列のすべての要素は同じ形式でなければなりません。

例: '24–Oct-2003 12:45:07'

例: ['19-Sep-2013';'20-Sep-2013';'21-Sep-2013']

例: {'15-Oct-2010' '20-Nov-2012'}

テキストで使用されている形式がわかっている場合は、formatIn も指定しなければなりません。formatIn を指定しない場合、DateString は、次のいずれかの形式でなければなりません。

日付と時刻を表すテキストの形式

'dd-mmm-yyyy HH:MM:SS'

01-Mar-2000 15:45:17

'dd-mmm-yyyy'

01-Mar-2000

'mm/dd/yyyy'

03/01/2000

'mm/dd/yy'

03/01/00

'mm/dd'

03/01

'mmm.dd,yyyy HH:MM:SS'

Mar.01,2000 15:45:17

'mmm.dd,yyyy'

Mar.01,2000

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

'yyyy-mm-dd'

2000-03-01

'yyyy/mm/dd'

2000/03/01

'HH:MM:SS'

15:45:17

'HH:MM:SS PM'

3:45:17 PM

'HH:MM'

15:45

'HH:MM PM'

3:45 PM

    メモ:   日付と時刻の形式を示すシンボリック識別子は、datetime 配列の表示形式を示すシンボリック識別子とは異なります。

一部の形式には、日付と時刻のテキスト表現を変換するために十分な情報が含まれていないことがあります。そのような場合、既定で、時、分、秒は 0、日付は 1、月は 1 月、年は現在の年になります。datevec および datenum は、2 文字の年 (たとえば '79') を、現在の年を中心として 100 年の範囲に入るものと見なします。

formatIn を指定しない場合、以下の点に注意してください。

  • 月を 2 桁 (mm) で指定する形式の場合、月の値が 12 を超えてはならない。

  • ただし、'mm/dd/yy' の形式では、テキストの 1 番目のエントリが 12 を超え、2 番目のエントリが 12 以下の場合、datenum は、そのテキストを 'yy/mm/dd' 形式であると見なします。

日付と時刻を表す入力テキストの形式。シンボリック識別子の文字ベクトルとして指定します。

例: 'dddd, mmm dd, yyyy'

次の表に、文字ベクトル formatIn の作成に使用できるシンボリック識別子を示します。フィールドを区切るためのハイフン、スペース、コロンなどを含めることができます。

    メモ:   日付と時刻の形式を記述するシンボリック識別子は、datetime 配列の表示形式を記述するシンボリック識別子とは異なります。

シンボリック識別子

説明

yyyy

4 桁表記の年

1990, 2002

yy

2 桁表記の年

90, 02

QQ

文字 Q と 1 桁で表記する四半期

Q1

mmmm

フル ネームで表記する月

March, December

mmm

最初の 3 文字で表記する月

Mar, Dec

mm

2 桁表記の月

03, 12

m

大文字の頭文字で表記する月

M, D

dddd

フル ネームで表記する曜日

Monday, Tuesday

ddd

最初の 3 文字で表記する曜日

Mon, Tue

dd

2 桁表記の日

05, 20

d

大文字の頭文字で表記する曜日

M, T

HH

2 桁表記の時間
(シンボリック識別子 AM または PM が使用される場合は先頭の 0 なし)

05, 5 AM

MM

2 桁表記の分

12, 02

SS

2 桁表記の秒

07, 59

FFF

3 桁表記のミリ秒

057

AM or PM

時刻を表すテキストに挿入される AM または PM

3:45:02 PM

formatIn 値は次のガイドラインに従わなければなりません。

  • どのフィールドも複数回指定することはできません。たとえば、'yy-mmm-dd-m' は、2 つの月識別子を含むので使用できません。ただし、例外として、dd の 1 つのインスタンスは、他の日識別子の 1 つのインスタンスと組み合わせることができます。たとえば、'dddd mmm dd yyyy' は有効な入力です。

  • AM または PM を使用する場合は、HH フィールドも必要です。

  • QQ は、それだけで使用することも、年の指定子と併用することもできます。

2 文字表記の年を含む 100 年の日付範囲の開始年を整数で指定します。ピボット年は、年が 2 文字で指定されている日付の解釈に使用されます。

formatIn に時刻が含まれる場合、現在の年月日の現在の時刻からピボット年が計算されます。それ以外の場合は、現在の年月日の午前 0 時から計算されます。

例: 2000

    メモ:   入力の日付形式で 4 文字の年が指定されている場合、末尾 2 文字は切り捨てられ、"最初" の 2 文字が年を指定します。たとえば、日付とピボット年が ('25122015','ddmmyyyy',2000) として指定されている場合、結果の日付は 25-12-2020 になります。25-12-2015 ではありません。

データ型: double

年、月、日の配列。スカラー、ベクトル、行列または配列として指定します。これらは同じサイズでなければなりませんが、いずれか 1 つをスカラーにすることもできます。Y,M,D は整数値でなければなりません。

Y,M,D がすべてスカラーまたはすべて列ベクトルである場合、入力引数を日付ベクトル [Y,M,D] として指定できます。

例: 2003,10,24

データ型: double

年、月、日、時、分、秒の配列。スカラー、ベクトル、行列または配列として指定します。これらは同じサイズでなければなりませんが、いずれか 1 つをスカラーにすることもできます。datenum でのミリ秒は、別個の入力ではなく、秒入力 S の小数部分として認識されます。Y,M,D,H,MN は整数値でなければなりません。

Y,M,D,H,MN,S がすべてスカラーまたはすべて列ベクトルである場合、入力引数を日付ベクトル [Y,M,D,H,MN,S] として指定できます。

例: 2003,10,24,12,45,07.451

データ型: double

出力引数

すべて折りたたむ

シリアル日付値。長さ m の列ベクトルとして返されます。ここで、m は、入力日付ベクトル、あるいは日付と時刻を表す文字ベクトルの総数です。

詳細

すべて折りたたむ

ヒント

  • 任意の形状の出力を作成するには、datenum(Y,M,D) および datenum(Y,M,D,H,MN,S) 構文を使用します。datenum(DateVector) 構文は、日付値の列ベクトルのみを作成します。

    datenum(2013,[1 3; 2 4],ones(2,2))
    ans =
    
          735235      735294
          735266      735325

R2006a より前に導入

この情報は役に立ちましたか?