Sap-abap-date-time
SAP ABAP-日付と時刻
ABAPは、世界のほとんどの地域で有効なグレゴリオ暦を暗黙的に参照します。 出力を国固有のカレンダーに変換できます。 日付は、カレンダーに関して正確な日、週、または月に指定された時間です。 時間は、1日に対して正確な秒または分に指定されます。 ABAPは常に24時間形式で時間を節約します。 出力には国固有の形式を使用できます。 日付と時刻は通常、現在のタイムゾーンで有効なローカル日付として解釈されます。
ABAPは、日付と時刻を操作する2つの組み込み型を提供します-
- Dデータ型
- Tデータ型
以下は、基本的な形式です-
これらのタイプは両方とも、それぞれYYYYMMDDおよびHHMMSSという形式の固定長文字タイプです。
タイムスタンプ
これらの組み込みタイプに加えて、他の2つのタイプ TIMESTAMP および TIMESTAMPL は、タイムスタンプをUTC形式で保存するために多くの標準アプリケーションテーブルで使用されています。 次の表は、ABAPで利用可能な基本的な日付と時刻のタイプを示しています。
S.No. | Data Type & Description |
---|---|
1 |
D YYYYMMDD形式の組み込みの固定長日付型。 たとえば、値20100913は2010年9月13日を表します。 |
2 |
T HHMMSS形式の組み込みの固定長時間型。 たとえば、値102305は時間10:23:05 AMを表します。 |
3 |
このタイプは、YYYYMMDDhhmmss形式の短いタイムスタンプを表すために使用されます。 たとえば、値20100913102305は、2010年9月13日午前10時23分5秒の日付を表します。 |
4 |
TIMESTAMPLは、YYYYMMDDhhmmss、mmmuuun形式の長いタイムスタンプを表します。 ここで、追加の数字「mmmuuun」は秒の小数部を表します。 |
現在の日付と時刻
次のコードスニペットは、現在のシステムの日付と時刻を取得します。
上記のコードは、次の出力を生成します-
変数date_1には、現在のシステム日付SY-DATUMの値が割り当てられます。 次に、日付の値を6増やします。 ABAPでの日付計算に関しては、これは日付オブジェクトの日コンポーネントを6日間増やしていることを意味します。 ABAPランタイム環境は、月末に達すると日付値をロールオーバーするのに十分スマートです。
時間の計算は、日付の計算と同様に機能します。 次のコードは、基本的な時間計算を使用して、現在のシステム時間を75秒増やします。
上記のコードは、次の出力を生成します-
タイムスタンプの使用
次のコードに示すように、 GET TIME STAMP を使用して、現在のシステム時刻を取得し、タイムスタンプ変数に保存できます。 GET TIME STAMPステートメントは、使用されるタイムスタンプデータオブジェクトのタイプに応じて、タイムスタンプをロングハンドまたはショートハンド形式で保存します。 タイムスタンプ値は、UTC標準を使用してエンコードされます。
上記のコードは、次の出力を生成します-
上記の例では、WRITEステートメントのTIME ZONEオプションを使用してタイムスタンプを表示しています。 この追加により、指定されたタイムゾーンの規則に従ってタイムスタンプの出力がフォーマットされます。 システムフィールドSY-ZONLOは、ユーザーの設定で設定されたローカルタイムゾーンを表示するために使用されます。