ドキュメンテーション

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

datestr

日付と時刻を文字列書式に変換

関数 datestr は、1 つ以上の時点を表示する文字配列を作成します。ただし、時点を表す最良の方法は、datetime のデータ型を使用することです。

構文

  • DateString = datestr(t)
  • DateString = datestr(DateVector)
  • DateString = datestr(DateNumber)
  • DateString = datestr(___,formatOut)
  • DateString = datestr(DateStringIn)
  • DateString = datestr(DateStringIn,formatOut,PivotYear)
  • DateString = datestr(___,'local')

説明

DateString = datestr(t) は、datetime 配列 t 内の datetime 値を日付と時刻を表すテキストに変換します。datestrm 行の文字配列を返します。ここで、mt 内の datetime 値の総数です。

datestr から返されるテキストの既定の形式は「日-月-年 時:分:秒」です。時:分:秒が 00:00:00 の場合、返されるテキストの形式は「日-月-年」になります。

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

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')]
DateString = datestr(t)
t = 

   29-Jan-2016 11:15:55
   30-Jan-2016 00:00:00


DateString =

29-Jan-2016 11:15:55
30-Jan-2016 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/29/16

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

formatOut = 2;
datestr(now,formatOut)
ans =

01/29/16

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

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt =

January 29, 2016 10:42:22.906 AM

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

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

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

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

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 値。スカラー、ベクトル、行列または多次元 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

日付と時刻を表す出力の形式。シンボリック識別子の文字ベクトル、あるいは事前定義の形式に対応する整数として指定します。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 (既定)

'dd-mmm-yyyy HH:MM:SS' または 'HH:MM:SS'= 00:00:00 の場合は '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

変換する日付と時刻を表すテキスト。単一の文字ベクトル、あるいは文字ベクトルのセル配列 (各行が 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 より前に導入

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