皆様よくご存知の通り、OS Xのdateコマンドは独特です
$ date 2015年 7月14日 火曜日 23時49分50秒 JST
一部オプションも使えないときました。
$ date -d "yesterday" usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
これでは困る場合、coreutilを突っ込んでGNU版の環境を作ってやるのも手です
導入法
$ brew install coreutil
コマンド名を上書きしたいんだって場合は以下の指示に従ってください。
環境変数に取り込むとホントに上書きされます。
ご利用は計画的に
If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
動作
デフォルトであれば、各コマンドはアタマに"g"をつけて使います。
$ gdate 火 7 14 23:58:33 JST 2015
何かと便利な-dオプションも使えるようになってます。
$ gdate -d "yesterday" 月 7 13 22:46:45 JST 2015
英語にしたい場合は、LANG=C
LANG=C gdate Tue Jul 14 23:42:32 JST 2015