내 날짜 형식은 YYYYMMDDHHMM입니다. 예를 들어, 이 유틸리티를 사용하여 타임스탬프 형식을 지정할 수 있는 방법이 있습니까 201607131001
?10:01 AM July 13, 2016
date
답변1
GNU 날짜가 있다고 가정하면 날짜와 시간 사이에 공백을 추가하고 통과해야 합니다.-d
$ date -d "20160713 1001"
Wed Jul 13 10:01:00 EDT 2016
매개변수 확장을 통해 이를 쉽게 수행할 수 있습니다. 예를 들어
$ d=201607131001
$ date -d "${d%????} ${d#????????}"
Wed Jul 13 10:01:00 EDT 2016
그런 다음 표준 +
형식 문자열을 사용하여 원하는 방식으로 형식을 지정할 수 있습니다( man date
모든 옵션 설명).
$ d=201607131001
$ date -d "${d%????} ${d#????????}" +"%I:%M %p %B %d, %Y"
10:01 AM July 13, 2016
답변2
그리고 zsh
:
zmodload zsh/datetime
strftime -s t -r %Y%m%d%H%M 201607131001
LC_ALL=C strftime '%I:%M %p %B %d, %Y' $t
비지박스 사용 date
:
date -D %Y%m%d%H%M -d 201607131001 +'%I:%M %p %B %d, %Y'
AT&T ast-open 사용 date
:
date -p %Y%m%d%H%M -d 201607131001 +'%I:%M %p %B %d, %Y'
BSD 사용 date
:
date -jf %Y%m%d%H%M +'%I:%M %p %B %d, %Y' 201607131001
그리고 ksh93
:
printf '%(%I:%M %p %B %d, %Y)T\n' 201607131001