dateコマンド(Linux) フォーマット日付、Unixタイムスタンプ、X日前後の取得
- Tue
- 01:09
- シェルスクリプト
dateコマンド(Linux編)
dateコマンドもバージョンによって方言がかなりあり、BSD系とLinux系ではかなりオプションが異なります。
ということで、Linux編。確認したdateコマンドの正確なバージョンは以下のとおり。
フォーマット日付の取得
Unixタイムスタンプの取得
Unixタイムスタンプからフォーマット日付への変換
20111128 09:00:00(1322492400) から 1分後を取得
1日前1日後など、X日前後の取得。今日が20111128として。
X日後等、基準日より未来の日付を取得する場合は、'X day'
dateコマンドもバージョンによって方言がかなりあり、BSD系とLinux系ではかなりオプションが異なります。
ということで、Linux編。確認したdateコマンドの正確なバージョンは以下のとおり。
$ date --version date (GNU coreutils) 5.97 Copyright (C) 2006 Free Software Foundation, Inc.
フォーマット日付の取得
$ date "+%Y%m%d %H:%M:%S" 20111128 09:00:00
Unixタイムスタンプの取得
現在時刻をUnixタイムで取得 $ date "+%s" 1322492450 $ date "+%s" -d "20111128 09:00:00" 1322492400
Unixタイムスタンプからフォーマット日付への変換
20111128 09:00:00(1322492400) から 1分後を取得
$ date "+%Y%m%d %H:%M:%S" -d "1970-01-01 GMT +1322492460 second" 20111128 09:01:00
1日前1日後など、X日前後の取得。今日が20111128として。
1日前 $ date "+%Y%m%d %H:%M:%S" -d '1 days ago' 20111127 09:00:00 10ヵ月後 $ date "+%Y%m%d %H:%M:%S" -d '10 month' 20120928 09:00:00X日前等、基準日より過去の日付を取得する場合は、'X days ago' (agoを付記)、
X日後等、基準日より未来の日付を取得する場合は、'X day'