日付時間関数に、秒数を日付時間値に変換する関数と、日付時間値を秒数に変換する関数を示します。
Abbrev Date(date)
|
指定された日付(date)からOSで指定されているロケールの日付表示を戻す。形式はコンピュータの地域設定に基づきます。英語(米国)ロケールの場合、日付は"02/29/2004"のような形式になります。英語版のJMPを別のロケールで実行している場合も、ロケールの形式が適用されます。
|
As Date(expression)
|
x = As Date( 8Dec2000 + In Days( 2 ) ); As Date( 50000 ); |
指定された日付を、1904年1月1日午前0時からの秒数で表示する。たとえば、2004年2月29日はDateDMY(29,2,2004)と指定します。これは3160857600を戻します。
|
|
指定された日付を、1904年1月1日午前0時からの秒数で表示する。たとえば、2004年2月29日はDateMDY(2,29,2004)と指定します。これは3160857600を戻します。
|
|
Day Of Week(date)
|
指定された日付(date)が何曜日であるかを表す整数値を戻す。この関数では、週は、日曜日から始まり、土曜日で終わるとみなします。
|
Day Of Year(date)
|
指定された日付(date)がその年の何日目であるかを表す整数値を戻す。
|
Day(date)
|
指定された日付(date)がその月の何日であるかを表す整数値を戻す。
|
2番目の引数で指定された形式(format)で値を戻す。秒数を日付時間値で表示するときに最もよく使われます。選択できる形式は、「列情報」ダイアログボックスに表示されています。JMPの2桁年の解釈方法も参照してください。
|
|
Hour(datetime)
|
指定された日付時間値(date-time)の時間を表す整数値を戻す。
|
In Days(n)
|
これらの関数はそれぞれ、n分、n時間、n日、n週間、n年を秒で表した値を戻す。秒数で表した時間間隔をこれらの関数で割ると、別の時間単位に変換できます。
|
Long Date(date)
|
指定された日付(date)からOSで指定されているロケールの日付表示を戻す。形式はコンピュータの地域設定に基づきます。英語(米国)ロケールの場合、日付は"Sunday, February 29, 2004"のような形式になります。英語版のJMPを別のロケールで実行している場合も、ロケールの形式が適用されます。
|
MDYHMS(date)
|
|
Minute(date-time)
|
指定された日付時間値(date-time)の分を表す整数値を戻す。
|
Month(date)
|
指定された日付(date)の月を数値で戻す。
|
Num(date-time)
|
指定された日付時間値(date-time)を表す整数値を戻す。
|
Second(date-time)
|
指定された日付時間値(date-time)の秒を表す整数値を戻す。
|
Short Date(date)
|
|
Time Of Day(date)
|
指定された日時(date-time)がその日の何秒目かを整数値で戻す。
|
Week Of Year(date,
<ルール番号>) |
|
Year(date)
|
指定された日付(date)の年を数値で戻す。
|
たとえば、今日が2011年5月19日の午前11:37:52だとすると、Today()は秒数を戻し、それ以下の関数は基本時間からの秒数を別の日付時間形式で戻します。
Today()
Short Date( Today() );
Long Date( Today() );
Abbrev Date( Today() );
MDYHMS( Today() );
Long Date( 3388649872 );
Long Date( 19May2011 );
関数Month()、Day()、Year()、Day Of Week()、Day Of Year()、Week Of Year()、Time Of Day()、Hour()、Minute()、Second()を使って、日付値の一部を抽出できます。これらの関数は、すべて整数を戻します。現在日付が2011年5月24日の場合、以下の例はすべて年の144日目を表す144をを戻します。
Day of Year( Today() );
Day of Year( 24May2011 );
Day of Year( Date MDY( 5, 24, 2011 ) );
データテーブルの「日付」という名前の列に、"m/d/y"形式の日付時間値が含まれています。ここで、時間だけが含まれる列を作成するとします。次のスクリプトは、2列目の計算式が1列目の「日付」の値から時間を抽出します。
New Table( "Assembly Tests",
Add Rows( 1 ),
New Column( "日付",
Numeric, Continuous,
Format( "m/d/y" ),
Set Values( [3389083557] )
),
New Column( "時間",
Numeric, Continuous,
Formula( Format( Time Of Day( :日付 ), "h:m:s") )
)
);
図6.1 時間の抽出の例
Week of Year()は、その年の何週目であるかを、日付時間値で戻します。一年の第1週を定義するルールは3つあり、オプションとして指定できます。
Week Of Year( Date DMY( 19, 6, 2013 ), 1 );
Week Of Year( Date DMY( 19, 6, 2013), 2 ) ;
Week Of Year( Date DMY( 19, 6, 2013 ), 3 );
データテーブルの「日付」列に、顧客がクレジットカードを使ってガソリンを購入した日付が入っています。顧客が何日おきにガソリンを購入しているかを知りたいとします。次のスクリプトは「経過日数」列を作成します。その列の計算式は、直前の行の日付値から現在の行の「日付」列の値を引きます。
New Table( "ガソリンの購入",
Add Rows( 3 ),
New Column( "日付",
Numeric,
"Continuous",
Format( "m/d/y" ),
Set Values( [3392323200 3393532800 3394828800] )
),
New Column( "経過日数",
Formula(
If( Row() == 1,
., // 1行目については欠測値を戻す
(:日付[Row()] - :日付[Row() - 1]) / In Days()
)
)
)
);
日付時間値の計算例はこの結果です。
図6.2 日付時間値の計算例
In Minutes、In Hours、In Days、In Weeks、In Yearsの各関数は、秒以外の単位で時間を表現するときに使用します。これらの関数はすべて、特定の時間間隔を秒数で戻します。たとえば、次の式は、現在から2012年7月4日までの週数を戻します。
(Date DMY( 04, 07, 2012 ) - Today()) / In Weeks();
間隔関数の引数が空の場合、間隔は1と見なされます。これを変更するには別の数値を入力します。たとえば、In Years(10)は間隔を10年に変換します。たとえば、次の式は、現在から2037年12月31日までに10年間がいくつ含まれるかを戻します。
(Date DMY( 31, 12, 2037) - Today() ) / In Years( 10 );
Long Date( 25May11 );
Long Date( 25May1911 );
JMPの2桁年の解釈方法に、JMPの2桁年の解釈方法を示します。