日付と時刻のユーティリティ:
%D:[d]d-mmm-[yy]yy 形式の現在の日付
%DATE:入力日付を$HOROLOGフォーマットへ変換
%H:$HOROLOG形式から日付と時間へ、日付と時間を$HOROLOG形式へ変換します。
%T:[h]h:mm AM/PM 形式で現在の時刻を表示します。
%TI:時刻を$HOROLOG形式へ変換します。
%TO:現在の時刻を$HOROLOG形式から [h]h:mm AM/PM 形式へ変換します。
"%"記号は、下記の見出しトピックのから意図的に削除されています。
組み込み特殊変数$ZDATEFORMは、年の入力値を2桁の数字として解釈します。次の表で説明します:
$ZDATEFORM |
2桁の年の解釈 |
%Dの出力 |
0: |
20世紀 (1900 - 1999) |
2桁 |
1: |
現在の世紀(2000 - 2099) |
4桁 |
(1841-9999): |
$ZDATEFORM (x - x+99)から開始する次の99年 |
4桁 |
その他: |
現在の世紀(2000 - 2099) |
4桁 |
例:
もし$ZDATEFORMが 1965 ならば、70の年入力は1970として解釈されるのに対して、10の年入力は2010として取り込まれます。
%D ユーティリティは、[d]d-mmm-[yy]yy 形式の現在の日付を表示します。もしルーチンがこの関数を繰り返し使用するならば、Mプログラムへ直接ユーティリティコードを置いてください。
次の例では、$ZDATEFORM が 1(1)であることを想定します。
例:
GTM>DO ^%D 22-NOV-2010
この例は、ダイレクトモードで%Dを起動します。その後、%Dは現在の日付が表示されます。
例:
GTM>DO INT^%D GTM>ZWRITE %DAT="22-NOV-2010"
この例では、ラベル INT (INT^%D) で%Dを起動します。%DAT変数は現在の日付が含まれます。ZWRITEは、出力変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%D 22-NOV-2010
この例では、ラベルFUNCを使って外部関数として%Dを起動します。$$FUNC^%D は今日の日付を返します。
%DATEユーティリティは入力日付を$HOROLOGフォーマットへ変換します。$ HOROLOG形式は、1840年12月31日以降の日数を計測して表します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
INT:もし定義されていれば、非対話的な入力で%DSを変換してください、さもなければ、現在の日付が変換されます。
FUNC(t):$HOROLOG形式の引数を返す外部関数を呼び出します。
%DATE入力フォーマット | ||
要素 |
説明 |
使用例 |
日 |
1桁または2桁 |
1,01,24 |
月 |
1桁または2桁 |
3,03,12 |
省略可 |
MAR |
|
日の前に数値の月 |
1/5 は、1月5日 |
|
日の前または続いて数値の月 |
3 MAR MAR 3 |
|
年 |
2桁または4桁 |
11/22/98 11/22/2002 |
間違った年は現在の年へデフォルトします。 |
11/22 |
|
今日 |
省略可 |
T[ODAY] |
t+/- N. no. of days |
t+1 t-3 |
|
明日 |
省略可 |
TOM[ORROW] |
昨日 |
省略可 |
Y[ESTERDAY] |
NULL入力 |
デフォルトは今日 |
|
デリミタ |
+ または - のオフセットを除いた、すべての非アルファベット,数字 |
11/22/98 11Nov 98 22 Nov, 2002 11-22-2002 |
例:
GTM>DO ^%DATE Date: GTM>ZWRITE %DN=62047
この例では、GTM> プロンプトで %DATE を起動します。After pressing <RETURN> at the Date: prompt, %DATE converts today's date (for example, 11/22/2010) to the $HOROLOG format. ZWRITEは、出力変数の内容が表示されます。
例:
GTM>DO INT^%DATE GTM>ZWRITE %DN=59105
この例では、INT^%DATE が起動し、非対話形式で現在の日付が$HOROLOG形式へ変更します。ZWRITEは、出力変数の内容が表示されます。
例:
GTM>SET %DS="10/20/2010" GTM>DO INT^%DATE GTM>ZWRITE %DN=62019 %DS="10/20/2010"
この例では、非対話形式で$HOROLOG形式へデータを変換する INT^%DATEを起動する前に、入力変数%DSをセットします。
例:
GTM>WRITE $$FUNC^%DATE("10/20/2010") 62010
この例では、入力データを$HOROLOGへ変換するための外部関数としてFUNCラベルを持つ %DATEを起動します。もし呼び出しが$$FUNC^%DATEによって日付を提供しないならば、FUNCは現在の日付に変換します。
例:
GTM>WRITE $ZDATEFORM 1975 GTM>WRITE $$FUNC^%DATE("10/20/80") 51062 GTM>WRITE $ZDATE(51062) 10/20/1980 GTM>WRITE $$FUNC^%DATE("10/20/10") 62019 GTM>WRITE $ZDATE(62019) 10/20/2010
この例では $ZDATEFORM で1年の制限を使用を示します。 2桁の年は$ZDATEFORMが1975年であるので、間隔(1975, 2074)によって解釈され、したがって、入力の年"80"は "1980年"として解釈され、"10" は2010年として解釈されます"。この例では、入力日付を$HOROLOG形式へ変換するためにFUNC^%DATEを呼び出します。$ZDATE() は、$HOROLOG形式の日付をmm/dd/yyyy形式へ変換するために使用されます。
%Hユーティリティは、$HOROLOG形式から日付と時間へ、日付と時間を$HOROLOG形式へ変換します。
%CDS: %DT $HOROLOGの入力日付をmm/dd/yyyy 形式へ変換します。
%CTS: %TM $HOROLOG 入力時間を外部フォーマットへ変換します。
%CDN: %DT 入力日付を$HOROLOG形式へ変換します。
%CTN: %TM入力時間を$HOROLOG形式へ変換します。
CDS(dt): $HOROLOG引数を外部日付フォーマットへ変換する外部エントリです。
CTS(tm): $HOROLOG引数を外部時刻フォーマットへ変換する外部エントリです。
CDN(dt): 日付引数を$HOROLOGフォーマットへ変換する外部エントリです。
CTN(tm): 時刻引数を$HOROLOGフォーマットへ変換する外部エントリです。
%DT:ユーティリティのエントリポイントによって期待されるフォーマットに応じて、$HOROLOGまたはmm/dd/[yy]yy形式のどちらかで入力日付が含まれます。
%TM:ユーティリティのエントリポイントによって期待されるフォーマットに応じて、$HOROLOGまたは[h]h:mm:ss形式のどちらかで入力時刻が含まれます。
例:
GTM>SET %DT=+$H DO %CDS^%H GTM>ZWRITE %DAT="10/20/2010" %DT=62047
この例では、$HOROLOG形式で現在日付へ%DTを設定し、そして、%CDSのラベルで%H呼び出しよってmm/dd/yyyy形式へそれを変換します。%Hは%DAT変数で変換された日付を返します。ZWRITEは変数の内容が表示されます。
例:
GTM>SET %DT="10/20/2002" DO %CDN^%H GTM>ZWRITE %DAT=59097 %DT="10/20/2002"
この例では、mm/dd/yyyy形式で変数%DTを日付へ設定し、そして、%CDNラベルで%Hを呼び出します。%Hは%DAT変数で変換された日付を返します。ZWRITEは変数の内容が表示されます。
例:
GTM>SET %TM=$P($H,",",2) DO %CTS^%H GTM>ZWRITE %TIM="17:41:18" %TM=63678
この例では、時刻を表す$HOROLOG文字列のこれらの桁のみ返す$PIECE()関数を使用して$HOROLOG形式で現在の時刻へ変数%TMを設定します。次に、ラベル%CTSで%Hを呼び出します。%Hは変数%TIMで変換された時間を返します。 ZWRITEは変数の内容を表示します。
例:
GTM>SET %TM="17:41:18" DO %CTN^%H GTM>ZWRITE %TIM=63678 %TM="17:41:18"
この例では、hh:mm:ss形式で変数%TMを時刻へ設定し、そして、%CTNラベルで%Hを呼び出します。%Hは変数%TIMで変換された時間を返します。 ZWRITEは変数の内容を表示します。
例:
GTM>WRITE $$CDS^%H(62019) 11/17/2010
これは、外部日付形式へ外部の引数を変換するための外部関数としてCDS^%Hを起動します。
例:
GTM>WRITE $ZDATEFORM 1980 GTM>WRITE $$CDN^%H("10/20/02") 59097 GTM>WRITE $ZDATE(59097) 10/20/2002 GTM>WRITE $$CDN^%H("10/20/92") 55445 GTM>WRITE $ZDATE(55445) 10/20/1992
この例では $ZDATEFORM で1年の制限を使用を示します。 2桁の年は1980-2079の間隔によって解釈され、$ZDATEFORMが1980年であるので、入力の年"02"は "2002年"として解釈され、"92" は1992年として解釈されます。この例では、mm/dd/yy形式での引数を$HOROLOG形式へ変換するためにCDN^%Hを呼び出します。$ZDATE() は、$HOROLOG形式の日付をmm/dd/yyyy形式へ変換するために使用されます。
%Tユーティリティは、[h]h:mm AM/PMで現在の時間を表示します。もし、ルーチンがこの関数を繰り返し使用するならば、Mプログラムへ直接ユーティリティコードを置いてください。
%TIユーティリティは、時刻を$HOROLOG形式へ変換します。$HOROLOG形式は、午前0時以降の秒数として時間を表します。%TIは%TN変数で変換された時間を返します。このルーチンは、対話型または非対話的な使用のためにエントリポイントがあります。
非対話的なINTは、$HOROLOGフォーマットへ%TSを変換します。もし%TSが定義されてないならば、現在の時刻に変換します。
FUNC[(ts)] は、$HOROLOG形式の引数を返す外部関数を起動しますが、またはもし引数が無いならば、現在の時刻の$HOROLOG形式です。
%TSは入力時間が含みます。
次の表は、%TIにより受け入れられる入力フォーマットをまとめます。
例:
GTM>DO ^%TI Time: 4:02 PM GTM>ZWRITE %TN=57720
この例では、時刻の入力を促す%TIを起動します。現在時刻に変換するには<RETURN>キーの押し下げてください。ZWRITEは、出力変数の内容が表示されます。
例:
GTM>ZWRITE GTM>DO INT^%TI GTM>ZWRITE %TN=40954
この例では、非対話形式で現在の時刻に変換するために、INT^%TIを呼び出します。ZWRITEは、%TN変数の出力の内容が表示されます。
例:
GTM>SET %TS="8:30AM" GTM>DO INT^%TI GTM>ZWRITE %TN=30600 %TS="8:30AM"
この例では、INT ^%TIを呼び出す前に変数%TSをセットします。%TIは、入力時間として%TSを使用します。ZWRITEは変数の内容が表示されます。
例:
GTM>WRITE $$FUNC^%TI("8:30AM") 30600
この例では、供給された時間を$HOROLOG形式へ変換するために外部関数として%TIを起動します。もし引数がないならば(すなわち $$FUNC^%TI)、%TIは現在の時刻に変換します。
%TO:入力時刻を$HOROLOG形式から [h]h:mm AM/PM 形式へ変換します。もしルーチンが繰り返しこの関数を使用するならば、直接Mプログラムへユーティリティコードを配置します。