bash에서 Unix 시대 이후 날짜를 밀리초로 변환하는 방법은 무엇입니까?

bash에서 Unix 시대 이후 날짜를 밀리초로 변환하는 방법은 무엇입니까?

날짜 형식이 있습니다.

22-Sep-2014 10:32:35

13자리 타임스탬프가 필요한데 이렇게 변환하면

time=$(date -d "$DATE" '+%s')

10자리 숫자를 받았어요

내가 시도할 때

tt=$(date -d "$DATE");
time=$($tt +'%s * 1000 + %-N / 1000000')

알겠어요

line 22: Mon: command not found

답변1

date두 번째 시도는 매우 가깝습니다. 끝에 밀리초를 추가하라는 명령을 내리십시오 . %N포맷터를 사용하여 이 작업을 수행 할 수 있습니다 . %N나노초까지 확장된 다음 %3N.
그러나 예제 입력 시간에는 밀리초가 없으므로 .000끝에 추가할 수 있습니다.
이것이 원하는 것이 아니라고 가정하면 다음은 밀리초 정밀도를 제공하는 예입니다.

$ DATE="22-Sep-2014 10:32:35.012"
$ date -d "$DATE" +'%s.%3N'
1411396355.012

관련 정보