Programming and Data Types    

日付書式

MATLABは、3つの異なる日付書式、すなわち、日付文字、ある基準から数えた連続日付番号、日付ベクトルを用意しています。

日付を扱うとき、一般には日付文字(16-Sep-1996)を使います。MATLABは内部では連続日付番号(729284)を使います。連続日付番号は、ある固定した日付より日を単位とした日数で表します。MATLABでは、連続日付番号の1は、西暦0年の1月1日を基準にしています。MATLABは、日を単位として分数で時刻を表します。例えば、午後6時は0.75です。そして、'16-Sep-1996, 6:00 pm' はMATLABでは729284.75です。

日付を必要とするすべての関数は、日付文字、または、連続日付番号のどちらでも使えます。MATLABコマンドラインレベルで日付を取り扱うとき、数が少なければ、日付文字の方が便利です。日付の大きな数字を取り扱い関数を使う場合や日付をより多くの計算に使おうとすると、日付番号を使ったほうが便利です。

日付ベクトルは、いくつかのMATLAB関数では内部書式になっており、計算の中では使うことができません。日付ベクトルは、[year month day hour minute second]の要素から構成されています。

MATLABは、日付文字を連続日付番号に変換し、また逆変換もできます。日付は日付ベクトルにも変換できます。

つぎに、MATLABで使われる3つの日付書式の例を示します。

日付文字
02-Oct-1996
連続番号
729300
日付ベクトル
1996 10 2 0 0 0

日付書式間の変換

日付書式変換を行なう関数を示します。

datenum
日付文字から連続日付番号に変換
datestr
連続日付番号を日付文字に変換
datevec
つぎに、ある日付書式を他の日付書式に変換する例を示しています。

つぎに、ある日付書式を他の日付書式に変換する例を示しています。

日付文字書式

関数datenumは、日付計算を行なうために重要なものです。datenum は、種々の書式で入力文字を使うことができ、'dd-mmm-yyyy', 'mm/dd/yyyy', 'dd-mmm-yyyy, hh:mm:ss.ss'を入力文字として受け入れます。他のキャラクタにより分離された文字や数字から6個のフィールドまでの型を作ることができます。

たとえば、現在の年が1996ならば、つぎのものはすべて等価です。

また、つぎの表現もお互い同じ時刻を表しています。

数字のみの入力に対するデフォルトの書式は米国標準を使い、3/6 は、3月6日で、6月3日ではありません。

入力日付文字のベクトルを作成するならば、列ベクトルを使って、すべての文字は同じ長さであることをチェックしてください。長さがバラバラの場合、スペースかゼロを設定してください。

出力書式

関数datestr(D,dateform)は、連続日付Dを19種類の日付文字出力書式のいずれかを使って日、時を表します。デフォルトの出力は日-月-年文字:01-Mar-1996 です。オプション整数引数dateformを使って出力書式を選択してください。



dateform
Format
詳細
0
01-Mar-1996 15:45:17
日、月、年、時、分、秒
1
01-Mar-1996
日、月、年
2
03/01/96
月/日/年
3
Mar
月(3文字)
4
M
月(1文字)
5
3

6
03/01
月/日
7
1
月の中の日
8
Wed
曜日(3文字)
9
W
曜日(1文字)
10
1996
年(4文字)
11
96
年(2文字)
12
Mar96
月と年
13
15:45:17
時:分:秒
14
03:45:17 PM
時:分:秒 AMまたはPM
15
15:45
時:分
16
03:45 PM
時:分 AMまたはPM
17
Q1-96
4半期カレンダ-年
18
Q1
4半期カレンダ

つぎに1996 年4月1日を、関数datestrを使って、種々に変換する例を示します。


 時刻と日付 現在の日付と時刻