如何在unix时间戳中添加1小时
date +%Y%m%d_%H%M
我需要以上述格式添加1小时
答案 0 :(得分:0)
您的问题的字面答案是使用
date --date="next hour" +%Y%m%d_%H%M
但我猜你真的想在另一个时区显示时间。以UTC格式显示:
date --utc +%Y%m%d_%H%M
在另一个时区,例如
TZ="Europe/Stockholm" date +%Y%m%d_%H%M
当然假设系统时钟设置正确。
答案 1 :(得分:0)
De GNU日期变得简单易行。如果没有GNU日期,您可以操纵您的时区:
echo "$(TZ=GMT+1 date +%Y%m%d_%H%M)"
请注意夏令时。
当你得到昨天的日期(没有时间)时,你可以记住这个技巧。只需在时区添加24小时就可以在夏令时期间出现问题。您可以使用技巧找到昨天:
你确定昨天是20或30小时前。哪一个?好吧,最近的一个不是今天。
echo "$(TZ=GMT+30 date +%Y-%m-%d)\n$(TZ=GMT+20 date +%Y-%m-%d)" |
grep -v $(date +%Y-%m-%d) | tail -1
以上命令适用于ksh。当您使用bash时,您需要echo -e
。
或者使用printf:
printf "%s\n%s\n" "$(TZ=GMT+30 date +%Y-%m-%d)" "$(TZ=GMT+20 date +%Y-%m-%d)" |
grep -v $(date +%Y-%m-%d) | tail -1