![이전 날짜를 사용하여 날짜를 구문 분석하면 오류가 발생합니다.](https://linux55.com/image/117761/%EC%9D%B4%EC%A0%84%20%EB%82%A0%EC%A7%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%82%A0%EC%A7%9C%EB%A5%BC%20%EA%B5%AC%EB%AC%B8%20%EB%B6%84%EC%84%9D%ED%95%98%EB%A9%B4%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4..png)
date 명령을 사용하는 데 문제가 있습니다. 다음을 실행하면 오류가 발생합니다.
danilo@desktop:~$ x=$(date -d "+60 seconds"); dt=$(date -d "$x")
date: invalid date ‘Mo 11. Sep 09:07:05 CEST 2017’
내가 테스트한 다른 컴퓨터에서도 작동하기 때문에 이것은 이상합니다. 아니면 이것도:
danilo@desktop:~$ x=$(date); dt=$(date -d "$x")
date: invalid date ‘Mo 11. Sep 09:06:43 CEST 2017’
오류가 발생합니다.
이 오류의 이유는 무엇입니까? 시간대 설정인가요? 어떻게 작동하게 할 수 있나요?
답변1
현재로서는 해당 로케일의 기본 형식이 입력으로 지원되지 않습니다. 해결책은 표준 형식을 사용하는 것입니다. 예를 들어:
x=$(date -d "+60 seconds" +%s); dt=$(date -d "@$x")
+%s
date
표준 Unix 형식(epoch 이후 초)을 반환하도록 지시합니다 .
로그인 @
지침은 이를 에포크 이후의 초 수로 date -d "@$x"
해석합니다 .date
$x