Linux dateコマンドで「10分前を基準にした前月曜日」を取得できますか?
例えば
- 現在時刻:2016-02-09 00:05:00
- 予想される結果:2016-02-01 00:00:00
ベストアンサー1
あなたが持っていて、faketime
あなたのものがdate
動的にリンクされている場合:
faketime -f -10m date -d 'last monday' '+%F %T'
使用ksh93
(組み込みコマンドのみ):
printf '%(%F %T)T\n' "$(printf '%(%Y.%m.%d)T' '10 minutes ago')-0 last monday"
ここが最後なら日曜日最後のものの代わりに月曜日に、次のようにすることができます。
date -d "$(date -d '10 minutes ago' +"%F -%u day")"
または最後の場合土曜日:
date -d "$(date -d '10 minutes ago' +"%F -%w day -1 day")"
しかし結局月曜日にまたは他の曜日には算術演算が必要です。
eval "date -d \"$(date -d '10 minutes ago' +'%F -$(((%u+5)%%7+1)) day')\""
それ以外の場合は、いつでも次のことができます。
d=$(date -d 'last monday'); sleep 600; printf '%s\n' "$d"
;-)