スクリプトガイド > データタイプ > 日付時間の関数と形式 > 形式パターンを使ったカスタム日付時間表示形式
公開日: 11/25/2021

形式パターンを使ったカスタム日付時間表示形式

形式パターンは、日付時間の表示形式を定義する文字列です。次に例を示します。

<YYYY></><MM></><DD> <hh><:><mm><:><ss><ampm>

鍵括弧に囲まれた部分は、フィールド記述子です。フィールド記述子は、値(年を表す4桁の<YYYY>など)または他の日付時間テキスト(ロケール固有の日付区切り文字</>など)を示します。

日付時間値を指定した形式に変換する処理、およびその逆の処理は、次のように行われます。

日付時間値を指定した形式に変換する場合は、フィールド記述子が適切な値または記号に置き換えられます。

形式の文字列を日付時間値に変換する場合は、各フィールド記述子の場所に対応する値または記号があるという前提で処理されます。形式の記述子の外にあるものは、リテラルテキストとして扱われます。リテラルテキストは、指定された形式に変換されるときはそのまま使用され、逆の場合は指定の場所にあるものという前提で処理されます

表6.5 カスタムの日付時間形式の出力

表示形式

出力

<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ユーザーコミュニティで答えを見つけましょう (community.jmp.com).