특정 날짜 표시

특정 날짜 표시

date 명령을 사용하여 Unix에서 특정 날짜를 표시하려고 하는데 오늘이 아닌 날짜를 표시하는 방법을 모르겠습니다.

예를 들어, 표시하려고 하면 July 4, 2011다음을 사용합니다.

$ date +"%B %d, %Y"

그런데 오늘 날짜가 계속 이런 형식으로 나오네요. 원하는 날짜를 표시하려면 어떻게 변경하나요?

답변1

Linux를 실행하는 경우:

date +"%B %d, %Y" -d 2011-07-04

~에서man date:

   -d, --date=STRING
          display time described by STRING, not 'now'

답변2

일반적으로 date이는 이 목적을 위한 도구가 아닙니다(GNU Date와 같은 일부 구현에서는 이를 비표준 확장으로 가질 수 있음).

이식 가능한 날짜 조작을 원할 경우 할 수 있는 최선의 방법은 해당 모듈 perl(거의 모든 비임베디드 Unix에 설치됨) 의 및 기능을 사용하는 것입니다 . 사용자 친화적인 다른 날짜 조작 모듈이 많이 있지만 일반적으로 적어도 이전 버전에서는 기본적으로 설치되지 않습니다 .POSIXstrftimemktimeperlperl

perl -MPOSIX -le 'print strftime "%B %d, %Y", @ARGV' 0 0 0 4 7 "$((2011 - 1900))"

관련 정보