タグ・アーカイブ: date

さっきのエントリで、for文使ったりパイプに渡すような書き方しちゃったけど、

早速 @chonan さんから ツッコミ が・・・(;゚Д゚)

$ date --date="`date +%d` days ago" +%Y%m01
20110201
$ date --date="`date +%d` days ago" +%Y%m%d
20110228
$ date --date="`date +%d` days ago" +%Y/%m/01
2011/02/01
$ date --date="`date +%d` days ago" +%Y/%m/%d
2011/02/28
えらくシンプルにできました(;゚Д゚) タッタコレダケ
ゼロパディングの影響を極力排除したいなら
$ date --date="`date +%e` days ago" +%Y/%m/%d
2011/02/28
とか
$ date --date="`date +%-d` days ago" +%Y/%m/%d
2011/02/28
らしいけど、まだまだ精進しなきゃです。。。 (´・ω・`)
@chonanさん、有難うございます。

2017/12/31 03:30 追記

この投稿の方法で前月の今日、みたいな日付の求め方をしてしまうと、31日まである月や2月のように、正確でない日付が出力されてしまいます。GNU dateでもっと確実に前月を表示する方法は以下の投稿に書きました。


あるシェルスクリプトで先月分のログを抽出しているのですが、毎回毎回 YYYYMMDDと引数を入れるのがかったるい。できればこういう処理は自動化できれば作業品質も上がるだろうということで、1行でやってみました。

…続きを読む

1件のコメント

会社でヒマしてるので、バーチャルマシンを1個作ってみたが、
うっかりしてタイムゾーンをEST(米国東海岸時間)で作ってしまった。

$ date
Wed Nov 14 14:05:56 EST 2007

(;゚д゚)ァ....

さてどうしようとGoogle先生に聞いてみたら、/usr/share/zoneinfo にある地域ファイルを
/etc/localtimeとしてコピーしてやればよいとのこと。
日本時間(JST)は/usr/share/zoneinfo/Japan なので、

1) # rm -f /etc/localtime
2) # cp -p /usr/share/zoneinfo/Japan /etc/localtime
3) $ date

確認してみる

$ date
Wed Nov 14 14:20:03 JST 2007

これでよし。