Main Content

datestr

(非推奨、string または char を使用すること) 日付と時刻を文字列形式に変換

datestr は推奨されません。datetime 値をテキストに変換するには、代わりに関数 string または char を使用してください。コードの更新の詳細については、バージョン履歴またはシリアル日付値と日付文字列の推奨されないインスタンスの置き換えを参照してください。

説明

DateString = datestr(t) は、入力配列 tdatetime 値を日付と時刻を表すテキストに変換します。

関数 datestrm 行の文字配列を返します。ここで、mt 内の datetime 値の総数です。datestr から返されるテキストの既定の形式は「日-月-年 時:分:秒」です。時:分:秒が 00:00:00 の場合、返されるテキストの形式は「日-月-年」になります。

DateString = datestr(DateVector) は、日付ベクトルを日付と時刻を表すテキストに変換します。関数 datestrm 行の文字配列を返します。ここで、mDateVector 内の日付ベクトルの総数です。

メモ: 状況によっては、datestr は日付ベクトルを 6 つの日付値からなるベクトルとして解釈します。詳細については、日付ベクトルの変換から予期しない出力が返されるを参照してください。

DateString = datestr(DateNumber) は、シリアル日付値を日付と時刻を表すテキストに変換します。関数 datestrm 行の文字配列を返します。ここで、mDateNumber 内の日付値の総数です。

DateString = datestr(___,formatOut) は、formatOut を使用して出力テキストの形式を指定します。formatOut は、前述の構文のすべての入力引数と共に使用できます。

DateString = datestr(DateStringIn) は、DateStringIn を「日-月-年 時:分:秒」の形式のテキストに変換します。DateStringIn で表されるすべての日付と時刻は、同じ形式でなければなりません。

DateString = datestr(DateStringIn,formatOut,PivotYear) は、DateStringInformatOut で指定される形式で DateString に変換します。オプションの PivotYear を使用して、年が 2 文字で指定される日付を解釈します。

DateString = datestr(___,'local') は、現在のロケールの言語で日付を返します。この言語は、コンピューターのオペレーティング システムで選択している言語です。引数リストで 'local' を省略すると、datestr は既定の言語 (US English) でテキストを返します。前述の任意の構文で 'local' を使用します。引数 'local' は、引数の列の最後に指定しなければなりません。

すべて折りたたむ

t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime
   25-Jan-2024 22:07:54
   26-Jan-2024 00:00:00

DateString = datestr(t)
DateString = 2x20 char array
    '25-Jan-2024 22:07:54'
    '26-Jan-2024 00:00:00'

datestr は、「日-月-年 時:分:秒」の形式で日付と時刻を表すテキストを返します。

DateVector = [2009,4,2,11,7,18];

datestr(DateVector)
ans = 
'02-Apr-2009 11:07:18'

datestr は、既定の形式で日付と時刻を表すテキストを返します。

mm/dd/yy 形式で現在の日付を表示します。

シンボリック識別子を使用して、この形式を指定できます。

formatOut = 'mm/dd/yy';
datestr(now,formatOut)
ans = 
'01/25/24'

あるいは、数値識別子を使用して、この形式を指定できます。

formatOut = 2;
datestr(now,formatOut)
ans = 
'01/25/24'

日付および時刻の書式を変更して、ミリ秒を表示することもできます。

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt = 
'January 25, 2024 10:07:40.162 PM'

12 時間制の 05:32 p.m. を 24 時間制に変換します。

datestr('05:32 PM','HH:MM')
ans = 
'17:32'

24 時間制の 05:32 を 12 時間制に変換します。

datestr('05:32','HH:MM PM')
ans = 
' 5:32 AM'

AMPMformatOut の出力テキストで使用しても、どの文字が実際にテキストの一部になるかには影響しません。それらの文字を含めるかどうかを指定するだけです。MATLAB® は、入力された時刻に基づいて AM または PM を選択します。

日付を表す入力テキストの形式を指定するために、datestr 内で datenum を呼び出します。

formatOut = 'dd mmm yyyy';
datestr(datenum('16-04-55','dd-mm-yy',1900),formatOut)
ans = 
'16 Apr 1955'

日付を表す複数の文字ベクトルを cell 配列で渡すことにより変換します。

すべての入力日付に同じ形式を使用しなければなりません。たとえば、次のコマンドで渡す 3 つの日付では、すべて mm/dd/yyyy の形式を使用しています。

datestr(datenum({'09/16/2007';'05/14/1996';'11/29/2010'}, ...
    'mm/dd/yyyy'))
ans = 3x11 char array
    '16-Sep-2007'
    '14-May-1996'
    '29-Nov-2010'

datestr は、「日-月-年」の形式に変換された日付の文字配列を返します。

下記の日付は、正常な範囲外の値 (月 = 13) を使用するため、datestr 内で datenum を呼び出して期待された値を返します。

datestr(datenum('13/24/88','mm/dd/yy'))
ans = 
'24-Jan-1989'

年の範囲を変更するには、ピボット年を変更します。

ピボット年に 1900 を使用します。

DateStringIn = '4/16/55';
formatOut = 1;
PivotYear = 1900;
datestr(DateStringIn,formatOut,PivotYear)
ans = 
'16-Apr-1955'

同じ日付について、ピボット年に 2000 を使用します。

PivotYear = 2000;
datestr(DateStringIn,formatOut,PivotYear)
ans = 
'16-Apr-2055'

日付値を現在のロケールの言語のテキストに変換します。

フランス語ロケールでは、引数 'local' を使用します。

DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
str =
Juillet-17-1987

'local' を指定せずに同じ呼び出しを行うことができます。

str = datestr(DateNumber,formatOut)
str =
July-17-1987

この場合、既定の出力設定は英語です。

入力引数

すべて折りたたむ

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

メモ: 関数 datestr は、NaT である datetime 値を入力として受け入れません。

データ型: datetime

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

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

データ型: double

シリアル日付値。正の倍精度数値の配列として指定します。

例: 731878

データ型: double

日付と時刻を表す出力の形式。シンボリック識別子の文字ベクトルまたは string スカラー、あるいは事前定義の形式に対応する整数として指定します。formatOut が指定されない場合、datestr は既定の形式 dd-mmm-yyyy HH:MM:SS (日-月-年 時:分:秒) でテキストを返します。既定では、HH:MM:SS = 00:00:00 の場合、返されるテキストの形式は dd-mmm-yyyy になります。

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

メモ

日付と時刻の形式を記述するシンボリック識別子は、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

文字ベクトル formatOut は次のガイドラインに従わなければなりません。

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

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

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

次の表に datestr で使用可能な事前に定義されている日付形式を示します。

数値識別子

日付と時刻の形式

-1 (既定)

'HH:MM:SS'= 00:00:00 の場合は 'dd-mmm-yyyy HH:MM:SS' または 'dd-mmm-yyyy'

01-Mar-2000 15:45:17 または 01-Mar-2000

0

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

01-Mar-2000 15:45:17

1

'dd-mmm-yyyy'

01-Mar-2000

2

'mm/dd/yy'

03/01/00

3

'mmm'

Mar

4

'm'

M

5

'mm'

03

6

'mm/dd'

03/01

7

'dd'

01

8

'ddd'

Wed

9

'd'

W

10

'yyyy'

2000

11

'yy'

00

12

'mmmyy'

Mar00

13

'HH:MM:SS'

15:45:17

14

'HH:MM:SS PM'

3:45:17 PM

15

'HH:MM'

15:45

16

'HH:MM PM'

3:45 PM

17

'QQ-YY'

Q1-01

18

'QQ'

Q1

19

'dd/mm'

01/03

20

'dd/mm/yy'

01/03/00

21

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

Mar.01,2000 15:45:17

22

'mmm.dd,yyyy'

Mar.01,2000

23

'mm/dd/yyyy'

03/01/2000

24

'dd/mm/yyyy'

01/03/2000

25

'yy/mm/dd'

00/03/01

26

'yyyy/mm/dd'

2000/03/01

27

'QQ-YYYY'

Q1-2001

28

'mmmyyyy'

Mar2000

29

'yyyy-mm-dd'
(ISO 8601)

2000-03-01

30

'yyyymmddTHHMMSS'
(ISO 8601)

20000301T154517

31

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

2000-03-01 15:45:17

変換する日付と時刻を表すテキスト。単一の文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。各行が 1 つの日付と時刻に対応します。

datestr は、2 文字の年 (たとえば '79') を現在の年を中心にした 100 年の範囲に入るものと見なします。

日付と時刻を表すすべてのテキストは、同じ日付形式でなければならず、次のいずれかの日付形式でなければなりません。

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

'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

メモ

ある日付と時刻の形式を別の形式に変換する場合、入力の形式を指定できるように、まずテキストを関数 datenum に渡します。この方法では、入力される日付と時刻の形式が正しく解釈されます。例については、カスタム形式から日付文字列を変換するを参照してください。

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

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

例: 2000

メモ

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

データ型: double

出力引数

すべて折りたたむ

日付と時刻を表すテキスト。m 行の文字配列として返されます。ここで、m は入力の日付と時刻の総数です。既定の出力形式は、dd-mmm-yyyy HH:MM:SS (日-月-年 時:分:秒) です。ただし、時、分、秒がすべて 0 の場合、HH:MM:SS の出力は抑制されます。

ヒント

  • 事前に定義された MATLAB® 日付形式以外のテキストを変換するには、まず関数 datenum または関数 datevec のいずれかを使用してテキストを日付値に変換します。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する