# 日付/時刻フォーマット

マニュアル > サーバ作成ガイド > アクション編 > 共通設定 > # 日付/時刻フォーマット |

日付フォーマット

日付フォーマットとは、ファイル名やフォルダ名、データベースのフィールド名などに日付や時刻を付加して、動的な名称指定を可能とする便利な機能です。この機能により、開発時に設定する固定名称としてのみならず、例えば処理対象日付のフォルダ名を指定する、などの処理が可能になります。

■ファイル名として | ■フォルダ名として
--- | ---
■名前として（データベースのフィールド名など） |

まず、「ファイル名」「フォルダ名」「名前」の欄に名前を指定します。単純に固定の名前を指定したいのであれば、「日付を付加する」のチェックを外します。名前に日付を付加したい場合は「日付を付加する」をチェックし、「日付フォーマット」及び「相対時刻」を指定します。すると、名前の末尾に日付や時刻が自動的に付加されます。ファイル名やフォルダ名の場合は、拡張子（例えば.txtなど）の前に日付や時刻が付加されます。「相対時刻」は現在を基準として、いつの時刻や日時なのかを「相対時刻フォーマット」で指定します。相対時刻フォーマットについては、「相対時刻フォーマット」を参照下さい。

「日付フォーマット」は下記のように指定することができます。

例）

%Y%m%d | 20160101
%Y%m%d%H%M%S | 20160101000000
%Y_%m_%d | 2016_01_01
%Y_%m_%d_%H_%_M_%S | 2016_01_01_00_00_00

フォーマット | 解説
--- | ---
%Y | 4 桁で表す西暦 (0100～9999)
%y | 2 桁で表す西暦の下 2 桁 (00～99)
%#y | 先頭に 0 がつかない西暦の下 2 桁 (0～99)
%m | 2 桁で表す月 (01～12)
%d | 2 桁で表す日 (01～31)
%p、%#p | 午前/午後を表す、AM/PM
%I | 2 桁で表す 12 時間表記の時間 (01～12)
%H | 2 桁で表す 24 時間表記の時間 (00～23)
%M | 2 桁で表す分 (00～59)
%S | 2 桁で表す秒 (00～59)

相対時刻フォーマット

相対時刻フォーマットとは現在の時刻を起点として、1日後や1時間後などのように相対的に指定する方法です。

例）現在が「2016/01/15 12:12:12」（金曜）の場合

now | 現在を指します。 | 「2016/01/14 12:12:12」
now-1d | 現在-１日を指します。 | 「2016/01/14 12:12:12」
now+1d | 現在+１日を指します。 | 「2016/01/16 12:12:12」
now-1mo | 現在-１ヶ月を指します。 | 「2015/12/15 12:12:12」
month | 今月の頭を指します。 | 「2016/01/01 00:00:00」
month-1d | 先月の末日を指します。 | 「2015/12/31 00:00:00」
month-1d+9h | 先月の末日の朝９時を指します。 | 「2015/12/31 09:00:00」
day-1d | 昨日を指します。 | 「2016/01/14 00:00:00」
day+8h+30m | 今日の８時３０分を指します。 | 「2016/01/15 08:30:00」
week+2d | 今週の火曜日を指します。 | 「2016/01/12 00:00:00」

相対時刻のフォーマットは下記のようになります。

基準時刻[+時間間隔] [-時間間隔]…

上記フォーマットの基準時刻の部分には下記の基準時刻が指定できます。

基準時刻 | 解説 | 現在が「2016/06/15 12:12:12」（水曜）とすると
--- | --- | ---
now | 現在 | 2016/06/15 12:12:12
year | 今年 | 2016/01/01 00:00:00
month | 今月 | 2016/06/01 00:00:00
week | 今週 | 2016/06/12 00:00:00
day | 今日 | 2016/06/15 00:00:00
hour | 今の時刻（時まで有効） | 2016/06/15 12:00:00
minute | 今の時刻（分まで有効） | 2016/06/15 12:12:00

時間間隔の前には「+」か「-」及び数値を必ずつけます。「+」であれば未来へ、「-」であれば過去になります。例えば「+10m」であれば基準時刻から10分後を指します。

時間間隔 | 解説
--- | ---
y | 年
d | 日
mo | 月
w | 週
h | 時
m | 分
s | 秒

| 現在が31日の場合、NOWに対して月の引き算を含めた相対時刻（例　NOW-1MO等）を使用できません。理由は、31日の1ヶ月前が30日までしかない月の場合、該当する日が存在しないためエラーが発生しますので注意してください。