我正在寻找一个给定时间的时间范围。开始时间应为给定时间之前的60分钟,结束时间应为给定时间之后的60分钟。
目的:给定的时间就像一个“影响时间”,我希望在影响时间附近找到合适的时间范围,以便能够获取日志。
示例:给定时间为2018-05-16 20:30:00格式为'%Y-%m-%d%H:%M:%S'
请帮我得到:开始时间是2018-05-16 19:30:00结束时间是2018-05-16 21:30:00
这将在始终处于PDT / PST的服务器上运行,并且日期时间的格式为'%Y-%m-%d%H:%M:%S'
假设正确设置了时区和GNU日期,则可以获取Unix时间戳,减去,加上60分钟,然后将其转换回所需的格式:
$ ts=$(date -d "2018-05-16 21:30:00" +%s) # For BSD date: date -jf "%F %T" "2018-05-16 21:30:00" +%s
$ echo "$(date -d@$((ts - 3600)) +"%F %T")"
2018-05-16 20:30:00
$ echo "$(date -d@$((ts + 3600)) +"%F %T")"
2018-05-16 22:30:00
...我认为这不能正确解决飞秒和每个程序员应该了解的其他问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句