특정 타임스탬프 전후 60분 가져오기 - Shell/ksh

특정 타임스탬프 전후 60분 가져오기 - Shell/ksh

특정 시간에 대한 시간 범위를 얻고 싶습니다. 시작시간은 주어진 시간 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"인 서버에서 실행됩니다.

답변1

시간대와 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

...이것은 윤초를 올바르게 설명하지 못하는 것 같습니다.모든 프로그래머가 알아야 할 시간에 관한 다양한 기타 문제.

관련 정보