Main Content

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 文字で指定するテキストを解釈します。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')]
t = 2x1 datetime
   25-Jan-2024 22:07:52
   26-Jan-2024 00:00:00

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

   7.392769221313826
   7.392770000000000

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 値の調整を行いません。つまり、datenum では datetime 配列の TimeZone プロパティを空として扱い、日付と時刻の残りの情報に基づいてシリアル日付値への変換を行います。

データ型: datetime | duration

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

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

データ型: double

日付と時刻を表すテキスト。ある時点を表すテキストが各行に含まれる文字配列、文字ベクトルの 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 月、年は現在の年になります。datevec および datenum は、2 文字の年 (たとえば '79') を、現在の年を中心として 100 年の範囲に入るものと見なします。

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

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

  • ただし、'mm/dd/yy' の形式では、テキストの 1 番目のエントリが 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

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

年、月、日の配列。数値配列として指定します。これらの配列は同じサイズでなければなりませんが、代わりにスカラーにすることもできます。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 より前に導入

すべて展開する