形式パターンは、日付時間の表示形式を定義する文字列です。次に例を示します。
<YYYY></><MM></><DD> <hh><:><mm><:><ss><ampm>
また、山括弧で囲まれた形式パターンの一部分を、「フィールド記述子」と呼びます。フィールド記述子は、値(年を表す4桁の<YYYY>など)または他の日付時間テキスト(ロケール固有の日付区切り文字</>など)を示します。
日付時間値を指定した形式に変換する処理、およびその逆の処理は、次のように行われます。
• 日付時間値を指定した形式に変換する場合は、フィールド記述子が適切な値または記号に置き換えられます。
• 形式の文字列を日付時間値に変換する場合は、各フィールド記述子の場所に対応する値または記号があるという前提で処理されます。形式の記述子の外にあるものは、リテラルテキストとして扱われます。リテラルテキストは、指定された形式に変換されるときはそのまま使用され、逆の場合は指定の場所にあるものという前提で処理されます。
表示形式 |
出力 |
---|---|
<YYYY></><MM></><DD> <hh><:><mm><:><ss><ampm> |
2020/02/10 11:54:33 AM |
<DayOfWeek>, <Month> <D>, <YYYY> |
Wednesday, February 5, 2020 |
<Day>d <hh24>h <mm>m <ss>s |
123d 02h 34m 56s |
メモ: <Day>は日数を示し、期間を表す最も大きな単位です。<Hour>および<Minute>のフィールド記述子も使用できます。
次のスクリプトは、Informat()を使って文字列の日付時間値を読み取り、その文字列で使われている形式パターンを解明し、日付をddMonyyyy形式で戻します。また、最後に日付時間値をログに出力します。
dateVal = Informat( "6月 16, 2016", "Format Pattern", "<Month> <D>, <YYYY>" );
16Jun2016
形式パターンは、次のような方法でも指定できます。
date2 = 16Jun2021;
dayofwk2 = Format( date2, "Format Pattern", "<DayOfWeek>" );
monthnew2 = Format( date2, "Format Pattern", "<Month>" );
YYYYMMDD = Format( date2, "Format Pattern", "<YYYY></><MM></><DD>" );
YYMMMDD = Format( date2, "Format Pattern", "<YY></><MMM></><DD>" );
"21/Jun/16"
次のスクリプトでは、列の入力形式を指定しています。Input Formatは、データテーブルで値を編集するときの形式です。
New Table( "temp_date",
Add Rows( 2 ),
New Column( "date1",
Numeric,
"Continuous",
// データテーブルでの値の表示形式を指定する
Format( "Format Pattern", "<Month> <D>, <YYYY>", 35 ),
// 値を編集するときの表示形式を指定する
Input Format( "Format Pattern", "<YYYY>*<MM>*<DD>" ),
Set Values( {"2018*10*31", "2018*09*09"} )
),
New Column( "date2",
Numeric,
"Continuous",
Format( "Format Pattern", "<YYYY>*<MM>*<DD>", 10 ),
Set Values( {"2018*02*05", "2018*07*03"} )
)
);
メモ: 形式パターンの作成をスクリプトではなくデータテーブル内で行う方法については、『JMPの使用法』の形式パターンを使った日付時間形式のカスタマイズを参照してください。