# getdate

現在の日付を得る。

    getdate <strvar> [<format> [<timezone>]]

## 解説

現在の日付を文字列変数 <strvar> に <format> に従った形式で格納する。書式は strftime と同じ物が使える。
formatが省略された場合、格納される形式は"YYYY-MM-DD"となる。(<format> に %Y-%m-%d を指定したのと同じ)

formatが指定されたgetdateは、同じformatが指定されたgettimeと動作が等しくなる。
<timezone> にタイムゾーンを表す文字列を指定すると、タイムゾーンを加味した日付計算が行われる。 <timezone> を指定しない場合はローカルタイムとなる。

formatが指定された場合、このコマンドの実行結果はシステム変数 result に格納される。 formatが指定されなかった場合は、変数 result の値は変更されない。 変数 result の値の意味は以下のとおり。

値 | 意味
--- | ---
0 | 正常に値が <strvar> に格納された。
1 | 生成された文字列の長さが上限(511文字)を超えた等の理由で、<strvar> への値の格納が正常に行われなかった。
2 | <format> の指定が不正である。

## 例

    ;現在の日付をdatestrに格納。形式はYYYY-MM-DD。
    getdate datestr

    ;現在の日時を元にしてログファイル名を生成し、変数logfileに格納。
    ;形式はlog-YYYYMMDD-HHMMSS.txt
    getdate logfile "log-%Y%m%d-%H%M%S.txt"

    ;GMTで時刻を取得する。
    tz="GMT"
    gettime s "%Y/%m/%d %H:%M:%S" tz
    messagebox s tz

    ;本日の日にちを取得する。
    gettime s "|%d|%#d|"    ; |07|7| (Today is 7th).
    gettime s "|%d|%#d|"    ; |25|25| (Today is 25th).

## 参照

- gettime
- strftime (MSDNライブラリ)