メインコンテンツ

datenum

(非推奨、datetime または duration を使用すること) 日付と時刻をシリアル日付値に変換

datenum は推奨されません。時点を表すには、datetime 配列を使用してください。経過時間を表すには、duration 配列または calendarDuration 配列を使用してください。コードの更新の詳細については、バージョン履歴またはシリアル日付値と日付文字列の推奨されないインスタンスの置き換えを参照してください。

説明

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

シリアル日付値は、先発 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 文字で指定されているテキストを解釈します。formatInPivotYear は、いずれの順序でも指定できます。

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

DateNumber = datenum(Y,M,D) は、YMD (年、月、日) 配列の対応する要素についてシリアル日付値を返します。配列は、同じサイズ (またはいずれかがスカラー) でなければなりません。入力引数は日付ベクトル [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')]
t = 2×1 datetime
   09-Aug-2025 11:58:03
   10-Aug-2025 00:00:00

DateNumber = datenum(t)
DateNumber = 2×1
105 ×

   7.398384986492021
   7.398390000000000

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

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

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

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

      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 値または duration 値の配列として指定します。datenum 関数は t でタイム ゾーン情報を考慮せず、夏時間中に発生する datetime 値を調整しません。つまり、datenumdatetime 配列の TimeZone プロパティを空として処理し、残りの日付と時刻の情報をシリアル日付値に変換します。

t の要素が NaT または NaN の場合、datenum によって返される対応する値は NaN になります。t の要素が Inf または -Inf の場合、datenum によって返される対応する値は Inf または -Inf になります。

データ型: datetime | duration

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

DateVector の要素が NaT または NaN の場合、datenum によって返される対応する値は NaN になります。DateVector の要素が Inf または -Inf の場合、datenum によって返される対応する値は Inf または -Inf になります。

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

データ型: double

日付と時刻を表すテキスト。文字配列 (各行に 1 つの時点を表すテキストが含まれている)、文字ベクトルの cell ベクトル、または string ベクトルとして指定します。文字配列のすべての行の形式、あるいは cell ベクトルまたは string ベクトルのすべての要素の形式は同じである必要があります。

例: '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 月、年は現在の年に設定されます。datevecdatenum は 2 文字の年 (たとえば、'79') を、現在の年を中心にした 100 年の範囲に入るものと見なします。

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

  • 月を 2 桁で指定する形式 (mm) の場合、月の値は 12 を超えてはなりません。

  • ただし、形式が 'mm/dd/yy' のときに、テキスト内の最初の要素が 12 を超え、2 番目の要素が 12 以下の場合、datenum はテキストが 'yy/mm/dd' 形式であると見なします。

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

例: '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

1 桁または 2 桁表記の月

3, 06, 12

m

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

M, D

dddd

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

Monday, Tuesday

ddd

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

Mon, Tue

dd

1 桁または 2 桁表記の日

5, 09, 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

年、月、日の配列。数値配列として指定します。これらの配列は同じサイズでなければなりませんが、代わりにスカラーにすることもできます。Y,M,D の値は、整数値でなければなりません。

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

例: 2003,10,24

データ型: double

年、月、日、時、分、秒の配列。数値配列として指定します。これらの配列は同じサイズにする必要がありますが、いずれかをスカラーにすることもできます。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 より前に導入

すべて展開する