日付フォーマッタ
Version 24.3.9106
Version 24.3.9106
- 一般的な日付フォーマッタ
- その他の日付フォーマッタ
- compare([value][, inputformat])
- date([outputformat])
- datediff([interval][, value][, inputformat])
- day([inputformat])
- dayofweek([inputformat])
- dayofyear([inputformat])
- filetimenow()
- fromfiletime([outputformat])
- isleap([ifleap][, ifnotleap])
- month([inputformat])
- tofiletime([inputformat])
- toutc([outputformat][, inputformat])
- utcnow([outputformat])
- weekday([inputformat])
- year([inputformat])
- サンプル日付フォーマット
日付フォーマッタ
一般的な日付フォーマッタ
以下のフォーマッタは、最も一般的な日付フォーマッタです。参考までに各フォーマッタの例を提供しています。
その他の日付フォーマットの例はサンプル日付フォーマットにあります。
Note:一部のフォーマッタのオプションパラメータを囲う角括弧は、必須ではありません。これらは、パラメータがオプションであることを示すためにあります。
now([outputformat])
指定された outputformat に従って現在のシステム日時を返します(デフォルトの形式はyyyy-MM-dd'T'hh:mm:sszzz
です)。このフォーマッタは入力属性(変数)を変更しないという点で珍しいため、入力属性は必要ありません。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。
例
<arc:set attr="timestamp" value="[now()]" />
todate([outputformat][, inputformat][, strictInputFormat])
入力属性を、 outputformat で指定された形式の日付としてフォーマットします(デフォルトの出力形式はyyyy-MM-dd'T'hh:mm:sszzz
です)。日付フォーマットの例とその表現方法については、サンプル日付フォーマットを参照してください。
Note:フォーマッタが空の入力属性で呼び出された場合、上記のデフォルトの出力形式でフォーマットされた現在のシステム時刻が出力されます。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。 - inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。 - strictInputFormat:受信した日付値が入力形式と一致するかどうかをチェックします。一致しない場合、エラーをスローします。
フォーマッタは入力値のフォーマットを自動検出しようとしますが、フォーマッタが入力フォーマットを判別できない場合は、 inputformat パラメータを指定できます。
strictInputFormat 引数を使用して、受信した日付値が入力形式と一致するかどうかをチェックします。一致しない場合は、タスクは日付を標準の日付形式に変換する代わりにエラーをスローします。デフォルトではチェックしません。強制的にチェックするには、フォーマッタにtrue
を追加します。
例
<arc:set attr="simpleDate" value="01-30-2020" />
<arc:set attr="reformattedDate" value="[simpleDate | todate('yyyyMMdd', 'dd-MM-yyyy')]" />
dateadd(intervaltype, value[, outputformat][, inputformat])
入力日に指定された時間を加算し、その結果を返します。
- intervaltype:追加する時間の単位(year、month、day、hour、minute、second、またはmillisecond)。
- value: intervaltype で選択された単位をいくつ分追加するか。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。 - inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
フォーマッタは入力値のフォーマットを自動検出しようとしますが、フォーマッタが入力属性の日付フォーマットを判別できない場合は、 inputformat パラメータを指定できます。結果は、 outputformat で指定された形式で返されます(デフォルトの形式はyyyy-MM-dd'T'hh:mm:sszzz
です)。
例
<arc:set attr="shipdate" value="2020-03-15" />
<arc:set attr="estmArrivalDate" value="[shipdate | dateadd('day', 2)]" />
その他の日付フォーマッタ
以下は、あまり一般的に使用されないフォーマッタのリストです。
compare([value][, inputformat])
属性値とパラメータ値によって表される日付の相対値を示す符号付き数値を返します。
- value:属性値と比較する日付の文字列表現(オプション)。デフォルトは
now
です。 - inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
date([outputformat])
現在のシステム日時を、パラメータで指定されている場合は、指定された形式で返します。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。
Note:このフォーマッタは、上で説明した now() フォーマッタのエイリアスです。
datediff([interval][, value][, inputformat])
現在と value パラメータで指定した日付との差を( interval パラメータで指定した単位で)返します。
- interval:結果を取得する間隔(オプション)。day、hour、minute、second、またはmillisecond を指定します。
- value:属性値と比較する日付の文字列表現(オプション)。デフォルトは
now
です。 - inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
day([inputformat])
属性値で表される日付の、1から31までの値で表される日の部分を返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
dayofweek([inputformat])
属性値で表される日付の曜日を返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
dayofyear([inputformat])
属性値で表される日付の、1から366までの値で表される年日を返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
filetimenow()
現在のシステムファイルの時刻の日時を返します。
fromfiletime([outputformat])
有効なファイル時刻を、outputformat
パラメータで指定された形式の有効な日時値に変換します(パラメータが指定されている場合)。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。
isleap([ifleap][, ifnotleap])
属性値で表される4桁の年がうるう年であれば true (または ifleap )、それ以外の場合は false (または ifnotleap )を返します。
- ifleap:属性値がうるう年の場合に返される値(オプション)。
- ifnotleap:属性値がうるう年でない場合に返される値(オプション)。
month([inputformat])
属性値で表される日付の、1から12までの値で表される月の部分を返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは autodetected です。
tofiletime([inputformat])
有効な日時を有効なファイル時刻値に変換します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
toutc([outputformat][, inputformat])
属性値で指定された日付を、 outputformat パラメータ(指定されている場合)で指定された形式で UTC に変換して返します。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。
utcnow([outputformat])
現在のシステムのUTC 日時を返します。
- outputformat:フォーマット指定子(オプション)。有効な指定子は、
d
(短い形式の日)、D
(長い形式の日)、f
(長い形式の日/短い形式の時間 )、F
(長い形式の日/時間)、g
(標準の短い形式の日/時)、G
(標準の短い形式の日/長い形式の時間)、r
またはR
(RFC1123 形式)、s
(ソート可能な形式の日/時)、t
(短い形式の時間)、T
(長い形式の時間)、file
(Windows ファイル時間)、MM/dd/yy
などです。
weekday([inputformat])
曜日を、月曜日が0、日曜日が6 の整数値で返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
year([inputformat])
属性値で表される日付の年部分を返します。
- inputformat:入力フォーマット指定子(オプション)。デフォルトは
autodetected
です。
サンプル日付フォーマット
以下は、参照用の日付フォーマット文字列のサンプルです。これらを使って、ユースケースに合わせて日付フォーマッタをカスタマイズしてください。各エディションでサポートされている内容に違いがあるため、このセクションではクロスプラットフォーム版と.NET 版の両方の結果を記載しています。
次のテーブルの各例では、日付は2024年3月5日を使用します。時刻は、東部標準時間(UTC-5)の午前0時から12時間31分5秒336ミリ秒後です。
日付フォーマット文字列 | クロスプラットフォーム版 | .NET 版 |
MM-dd-yy | 03-05-24 | 03-05-24 |
MM/dd/yyyy HH:mm | 03/05/2024 12:31 | 03/05/2024 12:31 |
yyyy-MM-dd HH:mm:ss | 2024-03-05 12:31:05 | 2024-03-05 12:31:05 |
yyyy-MM-dd HH:mm:ss.SSS | 2024-03-05 12:31:05.336 | .NET には適用されません |
yyyy-MM-dd HH:mm:ss.fff | 2024-03-05 12:31:05.336 | 2024-03-05 12:31:05.336 |
yyyy-MM-dd HH:mm:ss X | 2024-03-05 17:31:05 -05 | .NET には適用されません |
ddd dd MMM yyyy HH:mm:ss zzz | Tue 05 Mar 2024 12:31:05 -05:00 | Tue 05 Mar 2024 12:31:05 -05:00 |
ddd dd MMM yyyy HH:mm:ss z | Tue 05 Mar 2024 12:31:05 -0500 | Tue 05 Mar 2024 12:31:05 -5 |
リテラル文字を含む日付フォーマット
DateTime 文字列でリテラル(’T’ など)を扱う場合は、フォーマッタの外部で使用される可能性のある引用符に注意してください。例えば、value XML 属性でフォーマッタを使用してArcScript 属性に値を割り当てる場合、文字列の終端が早すぎないように、別の引用符スタイルやエスケープシーケンスを使う必要がある場合があります。
例えば、カスタムスクリプトでアイテムの属性にdatetime 値を作成し、リテラルが必要な場合、開始タグと終了arc:set タグの間に属性の値を定義することができます。value=""
は設定されていないことに注意してください。
<arc:set attr="out.data">[_ | now("yyyy-MM-dd'T'HH:mm:ss")]</arc:set>