日付や時間は、macOSの標準である1904年の1月1日からの秒数を使って数値列に格納されます。列に日付の値があるときは、列名をダブルクリックし、[表示形式]メニューから[日付]または[時間]を選んで、その列に日付形式を割り当てることができます。数値の表示形式に関するオプションを参照してください。
構文の詳細については、『スクリプト構文リファレンス』の日付と時間関数を参照してください。
これらの関数は、引数に指定した分・時間・日・週・年を、秒数に変換します。引数は数字または数値の式でなければなりません。たとえば、In Minutes(2)は120となり、In Years(1)は31,557,600となります(60秒×60分×24時間×365.25日)。
年月日で指定された日付に対応するJMPの日付値を戻します。たとえば、Date DMY (20, 3, 1991)およびDate MDY (3, 20, 1991)は2,752,272,000になります。
1904年1月1日から現在の日付までの秒数を戻します。たとえば、1991年3月20日(水曜日)の午前0時には、Today関数は2752272000(2,752,272,000秒)を戻します。同日の数時間後にToday関数を実行すると、追加の秒数が反映されています。
これらの関数は、それぞれに対応する日付、月(1から12までの数字による)、および4桁の年を求めます。これらの関数の引数はJMP日付値です。たとえば、引数が1991年3月20日を表す日付値の場合、以下のようになります。
• Day(2752272000)は20を戻します。
• Month(2752272000)は3を戻します。
• Year(2752272000)は1991を戻します。
日付時間値の四半期を示す整数(1~4)を戻します。
それぞれ日付時間値の時間・分・秒を戻します。これらの関数の引数はJMP日付値です。たとえば、引数が1991年3月20日を表す日付値の場合、以下のようになります。
• Hour(2752572649)は11を戻します。
• Minute(2752572649)は30を戻します。
• Second(2752572649)は49を戻します。
これらの関数の引数はJMP日付値です。Day Of Weekは、1から7までの数字を戻します(1が日曜日を表す)。Day Of Yearは、年の始めから数えた日数を戻します。Week Of Yearは、指定したルールに基づいて1から52までの数字を戻します。ルール1(デフォルト)では、週は日曜日から始まり、年の最初の日曜日が第2週となります。第1週は一部だけの週となるか、または存在しません。ルール2では、最初の日曜日が第1週となり、その前にある日は第0週となります。ルール3は、ISO方式の週番号を戻します。週は月曜日から始まり、その年に入ってからの4日間を含む最初の週が第1週となります。ISO方式の場合、年の最初の3日間または最後の3日間が前年または翌年の週番号に属する場合があります。Time Of Dayは、0から86399までの数字(秒数で表した時刻)を戻します。たとえば、引数が1991年3月20日を表す日付値の場合、以下のようになります。
• Day Of Week(2752272000)は4を戻します。
• Day Of Year(2752272000)は79を戻します。
• Week Of Year(2752272000)は12を戻します。
• Time Of Day(2752272000)は0を戻します。
Informat関数の引数は日付を表す文字列です。たとえば、Informat("03/20/1991")は、JMP日付値である2752272000を戻します。JMPは、Abbrev DateとLong Date以外の日付形式すべてを読むことができます。
これらの日付関数の引数はJMP日付値です。これらは、引数をそれぞれの形式で表現した文字列を戻します。たとえば、次のような手順で要約できます。
• Abbrev Date(2752272000)は"1991/03/20"を戻します。
• Long Date(2752272000)は"1991年3月20日"を戻します。
• Short Date(2752272000)は"03/20/1991"を戻します。
Format関数の第1引数はJMP日付値です。この関数は、第2引数の引用符付き文字列で指定された日付形式で日付の文字列を戻します。この関数を数値タイプの列で用いた場合、列のデータタイプは文字タイプに変更されます。
第1引数に列を指定し、その他は空白にしておくこともできます。その場合は、参照した列の値が表示されている形式で文字列として戻されます。これは、「値ラベル」列プロパティをもつ列から、その列の値ラベルを抽出するのに使用できます。
MDYHMSの引数はJMP日付値です。この関数は、すべての日付および時間のフィールドを表示します。時間の情報がない時間フィールドには0が挿入されます。これは、日付情報の一部しか表示しない表示形式を使っている列がある場合に便利です。MDYHMS関数は、日付および時間のすべての情報を表示するのに使えます。
期首の日付時間値に1または複数の期数を加算します。たとえば、Date Increment(Today(), "Day", 3)は、現在の日付に3日加算します。Date Increment(Today(), "Year", 3)は、現在の日付に3年加算します。
2つの日付時間値の差を戻します。単位の引数には、Second、Minute、Hour、Day、Week、Month、Quarter、またはYearを指定できます。算出法(alignment)の引数は次のとおりです。
Start
期首の差を求めます。
Actual
実際の間隔を求めます。
Fractional
間隔の小数部分までも求めます。
たとえば、次の式は、指定された日付の差を小数部分まで求めた207.890243055556を戻します。
Date Difference(
01Jan2010:00:00:00,
27Jul2010:21:21:57,
"Day",
"fractional"
);
次の式は、指定された日付の差を日数で求めた207を戻します。
Date Difference(
01Jan2010:00:00:00,
27Jul2010:21:21:57,
"Day",
"actual"
);
次の式は、指定された時刻の差を時間で求めた9を戻します。
Date Difference(
01Jan2010:00:00:00,
01Jan2010:09:22:57,
"Hour",
"actual"
);
次の式は、時刻における期首の差を時間で表した1を戻します。
Date Difference(
31Dec2010:23:59:59,
01Jan2011:00:59:59,
"Hour",
"start"
);