bash에서 자정을 지나서 현재 밀리 초를 얻는 방법이 있습니까? 그리고 bash로 전체 작업을 수행하는 방법이 있다면, 타임 스탬프의 정확도는 얼마나 좋고 나쁠까요?bash, 자정 이후로 밀리 초 단위로 현재 시간을 확인하십시오.
3
A
답변
8
당신은 오늘 자정을 얻을 수 있습니다으로 :
date -d 'today 00:00:00'
UNIX 스탬프 : 그래서 당신은 차이를 얻으려면
date -d 'today 00:00:00' "+%s"
, 수행 %s
로
midnight=$(date -d 'today 00:00:00' "+%s")
now=$(date "+%s")
diff_mills=$((($now - $midnight) * 1000))
를 나타냅니다 초, 우리는 밀리 초를 얻으려면 *1000
해야합니다. %N
(나노초)와
:
이midnight=$(date -d 'today 00:00:00' "+%s.%N")
now=$(date "+%s.%N")
diff_mills=$(echo "($now - $midnight) * 1000" | bc)
2
당신은 대신 명시 적으로 날짜 차이 모드 사용할 수 있습니다. 예를 들어 1 초 해상도의 경우 :
millis_since_midnight=$[1000 * ((`date "+%s"` - 28800) % 86400)]
28800은 UTC (초 단위)의 오프셋입니다. 이 kludge는 BSD 시간을 가진 OSX와 같은 시스템에서 나에게 유용하여 --date 'today 00:00:00'
을 지정하는 기능이 부족합니다.
[이 질문] (http://serverfault.com/questions/151109/how-do-i-get-current-unix-time-in-milliseconds-using-bash)을 확인하십시오. – simont