実行環境に依存せずに、任意のタイムゾーンでの「今日の YYYYMMDD」を取得したい。
# 1. 今日の UNIX時刻(=UTCでの経過時間(秒)) を取得
unix_today=$(date +'%s')
# 2. タイムゾーンをズラす(+9:00 を秒に変換している)
unix_today=$((unix_today+32400))
# 3. YYYYMMDD に変換
jst_ymd_today=$(date '+%Y%m%d' --date "@$unix_today")
# 出力
echo $jst_ymd_today
20190327
もっと短くかけないもんですかねえ。
コメントで教えてもらいました。
# JST で今日の YYYYMMDD を得る
jst_ymd_today=$(TZ=UTC-9 date '+%Y%m%d')
# 出力
echo $jst_ymd_today