현재 시간 형식 지정

현재 시간 형식 지정

다음 형식의 시간을 원합니다

2020-10-12 10:41:42,526 

그것을하는 방법. 시도해 보았으나 잘못된 것 같습니다.

date +"%Y-%m-%d %H:%M:%S,%N"

답변1

3자리가 아닌 9자리가 표시되는 것이 유일한 문제인 경우 %N표시하려는 자릿수를 앞에 추가하여 문제를 해결할 수 있습니다.%3N

$ date +"%Y-%m-%d %H:%M:%S,%3N"
2020-10-12 09:52:19,931

답변2

이는 현재 시간의 1초 미만 부분(9자리에 0이 추가됨)을 제공하는 %NGNU 확장입니다 . 밀리초를 얻으려면 다음을 수행하십시오.dateN

date '+%F %T,%3N'

작성 중인 zsh 스크립트인 경우 strftime내장 스크립트를 사용하여 이식할 수 있습니다.

zmodload zsh/datetime
strftime '%F %T,%3.'

부족:

zmodload zsh/datetime
strftime '%F %T,%3.' $epochtime

또는 기수 문자를 사용자의 기수 문자로 둡니다(그렇지 않다고 가정 %하지만 기수 문자가 있는 로케일을 모릅니다 %).

zmodload zsh/datetime
zmodload zsh/langinfo
strftime "%F %T${langinfo[RADIXCHAR]}%3."

ksh93 스크립트인 경우 printf내장 스크립트를 사용하여 해당 작업을 수행할 수 있습니다.

printf '%(%F %T,%3N)T\n'

부족:

printf '%(%F %T,%3N)T\n' now

또는 사용자의 기수 문자를 사용합니다(다시 가 아니라고 가정 %).

radixchar=$((1e-1))
radixchar=${radixchar//[0123456789]}
printf "%(%F %T${radixchar}%3N)T\n"

관련 정보