【質問】
日付形式「2020年4月9日」のような「yyyy年M月d日」を他の形式(例:「yyyy/MM/dd」や「yyyyMMdd」)に変更したい。
「yyyy/MM/dd」→「yyyy年M月d日」に変更するのはFormat関数を使用すれば出来るが、逆が出来ないので方法を知りたい。
参考:format関数などの関数については以下をご参照ください
https://automate.sct.co.jp/column/11753/
https://automate.sct.co.jp/column/11752/
【回答】
「テキスト - 日付の書式設定」(format date/time)で可能です。
設定値を以下のようにすることで、変換可能となります。
下記では、「yyyy年M月d日」形式を「yyyy/MM/dd」形式に変換する方法を例とします。
[図1]
1. 日付形式
ここは「yyyy/MM/dd」を指定します
2. 変数に結果を格納する
結果を格納する変数を指定します
3. 指定された日付時間を使用する
ここに変換元となる日付テキストを指定します。この例では固定値を入れていますが、本来の処理では変数またはデータセットの要素などが入る想定です。
4. 日付形式
3で指定した日付テキストが、どのようなフォーマットとなっているかを指定します。
今回の場合、「2020年4月9日」なので、「yyyy年M月d日」となります。仮に3のテキストが「2020年4月09日」になっていた場合は。「yyyy年M月dd日」となります。
以下、一例です。「var_date」に指定された「yyyy年M月d日」形式の日付を「yyyyMMdd」形式に変換する例です。
<AMVARIABLE NAME="var_date" VALUE="2020年4月8日" />
<AMTEXT ACTIVITY="format_datetime" RESULTVARIABLE="var_date" DATETIMEFORMAT="yyyyMMdd" ACTION="specified" SPECIFIEDDATETIME="%var_date%" SPECIFIEDFORMAT="yyyy年M月d日" />