셸 스크립트의 YYYY-MM-DD 형식 날짜

내 bash 셸 스크립트에서 $(date)를 사용하려고 시도했지만 날짜를 YYYY-MM-DD 형식으로 원합니다. 어떻게 해야 하나요?

해결책

bash(=4.2)에서는 외부 date(일반적으로 GNU 날짜) 대신 printf의 내장 날짜 포맷터(bash의 일부)를 사용하는 것이 좋습니다.

따라서:

# put current date as yyyy-mm-dd in $date
# -1 -> explicit current date, bash >=4.3 defaults to current time if not provided
# -2 -> start time for shell
printf -v date '%(%Y-%m-%d)T\n' -1 

# put current date as yyyy-mm-dd HH:MM:SS in $date
printf -v date '%(%Y-%m-%d %H:%M:%S)T\n' -1 

# to print directly remove -v flag, as such:
printf '%(%Y-%m-%d)T\n' -1
# -> current date printed to terminal

bash에서 (

해설 (15)

Try: $(날짜 +%F)

해설 (1)

이렇게 할 수 있습니다:

$ date +'%Y-%m-%d'
해설 (0)

39 you& 찾고, re (ISO 8601] 1 표준 날짜 형식 때문에 GNU 날짜 (또는 아무 날짜 명령을 것보다 더 현대적인 경우 1988년 just do:) '$ (날짜 - I)'

해설 (3)
date -d '1 hour ago' '+%Y-%m-%d'

'14-06-2015 출력물에는 약간만이라도'.

해설 (2)
$(date +%F_%H-%M-%S)

제거하는 데 사용할 수 있는 콜론 (:) 그 사이

출력입니다

2018-06-20_09-55-58
해설 (0)

최근 Bash 내장 ' (버전 4.2)' 를 사용할 수 있습니다 '% (strftime_format) 형식으로 printf 수정자의 t'.

$ printf '%(%Y-%m-%d)T\n' -1  # Get YYYY-MM-DD (-1 stands for "current time")
2017-11-10
$ printf '%(%F)T\n' -1  # Synonym of the above
2017-11-10
$ printf -v date '%(%F)T' -1  # Capture as var $date

printf '는' 이후 's a Bash 내장 낼수있지않나 it& 것보다 훨씬 빨리 날짜', '# 39 는 외부 함장님이요 날짜'

Printf. '는 물론' 보다 '- v 데이트였어 날짜 = $ (printf.)' 때문에, 분기 t # 39 는 서브셸 doesn& 합니다.

해설 (5)

이 같은 작업이 끝날 때마다 나는 내가 대신 사용합니다.

$ man strftime

스스로 할 수 있는 모든 가능성.

해설 (0)
#!/bin/bash -e

x='2018-01-18 10:00:00'
a=$(date -d "$x")
b=$(date -d "$a 10 min" "+%Y-%m-%d %H:%M:%S")
c=$(date -d "$b 10 min" "+%Y-%m-%d %H:%M:%S")
#date -d "$a 30 min" "+%Y-%m-%d %H:%M:%S"

echo Entered Date is $x
echo Second Date is $b
echo Third Date is $c

여기서 x 는 샘플링합니다 사용할 날짜를 &amp. 물론 그 예에는 데이터 포맷을 모두 점점 더 그 날짜 시간 10 분 현재 날짜.

해설 (0)

이 같은 해인 2017년 2 형식 번호 대신 스케쳐내 17gb/s 확신하느뇨 다음과 같습니다.

DATE=`date +%d-%m-%y`
해설 (0)

난 다음 가 된다. "' 오늘 날짜 - I '=' 오늘 echo $ "' 체크아웃합니다 맨페이지를 날짜 '가 "에 대한 여러 가지 유용한 옵션: "' 양반이군요 날짜 "'

해설 (0)

내가 사용하는 '$ (데이트였어 %Y-%m-%d&quot +";)' 또는 '$ (데이트였어 %Y-%m-%d %T&quot +";)' 을 (를) 시간과 시간.

해설 (0)

날짜 및 환경 변수를 사용할 수 있는 것이 나중에 u 로 설정할 수 있습니다.

setenv DATE `date "+%Y-%m-%d"`
echo "----------- ${DATE} -------------"

또는

DATE =`date "+%Y-%m-%d"`
echo "----------- ${DATE} -------------"
해설 (0)