R Language
Date 클래스
수색…
비고
관련 주제
뒤죽박죽 메모
-
Date
:1970-01-01
UNIX 신기원 이후의 시간을 일 수로 저장합니다. 이전 날짜에 대한 음수 값. - 정수로 표현됩니다 (단, 내부 표현에서는 적용되지 않음).
- 달력은 오래 전에 사용되지 않았지만 현재의 그레고리력의 규칙에 따라 항상 인쇄됩니다.
- 시간대를 추적하지 않으므로
POSIXct
또는POSIXlt
오브젝트에서 시간을 자르지POSIXlt
합니다. -
sys.Date()
는Date
클래스의 객체를 반환합니다.
추가 메모
- lubridate 의
ymd
,mdy
등은 Date 클래스를 파싱하는as.Date
대안입니다. lubrid를 사용하여 문자열에서 날짜 및 시간을 파싱하는 방법을 참조하십시오. - data.table 의 실험 IDate 클래스는 Date에서 파생되며 대부분 Date와 상호 교환 가능하지만 double 대신 정수로 저장됩니다.
날짜 형식 지정
포맷에 Dates
우리가 사용하는 format(date, format="%Y-%m-%d")
과 함수 어느 POSIXct
(로부터 소정 as.POSIXct()
또는) POSIXlt
(로부터 소정 as.POSIXlt()
)
d = as.Date("2016-07-21") # Current Date Time Stamp format(d,"%a") # Abbreviated Weekday ## [1] "Thu" format(d,"%A") # Full Weekday ## [1] "Thursday" format(d,"%b") # Abbreviated Month ## [1] "Jul" format(d,"%B") # Full Month ## [1] "July" format(d,"%m") # 00-12 Month Format ## [1] "07" format(d,"%d") # 00-31 Day Format ## [1] "21" format(d,"%e") # 0-31 Day Format ## [1] "21" format(d,"%y") # 00-99 Year ## [1] "16" format(d,"%Y") # Year with Century ## [1] "2016"
자세한 내용은 ?strptime
참조하십시오.
날짜
변수를 날짜로 강제 변환하려면 as.Date()
함수를 사용하십시오.
> x <- as.Date("2016-8-23")
> x
[1] "2016-08-23"
> class(x)
[1] "Date"
as.Date()
함수를 사용하면 형식 인수를 제공 할 수 있습니다. 기본값은 %Y-%m-%d
이며, 이는 연 - 월 - 일입니다.
> as.Date("23-8-2016", format="%d-%m-%Y") # To read in an European-style date
[1] "2016-08-23"
형식. 자열은 작은 따 H 표 또는 큰 따 H 표의 쌍 안에 둘 수 있습니다. 날짜는 일반적으로 "dm-yy"
또는 "dm-YYYY"
또는 "md-yy"
또는 "md-YYYY"
또는 "YYYY-md"
또는 "YYYY-dm"
과 같은 다양한 형식으로 표현됩니다. 이러한 형식은 "-"
를 "/"
로 대체하여 표현할 수도 있습니다. 또한 날짜는 1986 년 11 월 6 일 또는 1986 년 11 월 6 일 또는 1986 년 11 월 6 일 또는 1986 년 11 월 6 일 등의 형식으로 표현됩니다. as.Date () 함수는 이러한 모든 문자열을 허용하며 문자열의 적절한 형식을 언급 할 때 항상 "YYYY-md"
형식으로 날짜를 출력합니다.
"%d-%m-%Y"
형식의 날짜 문자열 "9-6-1962"
가 있다고 가정합니다.
#
# It tries to interprets the string as YYYY-m-d
#
> as.Date("9-6-1962")
[1] "0009-06-19" #interprets as "%Y-%m-%d"
>
as.Date("9/6/1962")
[1] "0009-06-19" #again interprets as "%Y-%m-%d"
>
# It has no problem in understanding, if the date is in form YYYY-m-d or YYYY/m/d
#
> as.Date("1962-6-9")
[1] "1962-06-09" # no problem
> as.Date("1962/6/9")
[1] "1962-06-09" # no problem
>
입력 문자열의 올바른 형식을 지정함으로써 원하는 결과를 얻을 수 있습니다. 다음 코드를 사용하여 as.Date () 함수의 형식을 지정합니다.
포맷 코드 | 의미 |
---|---|
%d | 일 |
%m | 달 |
%y | 2 자리 숫자 |
%Y | 4 자리 숫자 |
%b | 3 자로 된 단축 된 월 |
%B | 그 달의 이름 |
format 매개 변수를 지정하는 다음 예제를 고려하십시오.
> as.Date("9-6-1962",format="%d-%m-%Y")
[1] "1962-06-09"
>
매개 변수 이름 형식 은 생략 할 수 있습니다.
> as.Date("9-6-1962", "%d-%m-%Y")
[1] "1962-06-09"
>
때로는 처음 세 글자로 줄여 진 달의 이름이 날짜 쓰기에 사용됩니다. 이 경우 형식 지정자 %b
사용합니다.
> as.Date("6Nov1962","%d%b%Y")
[1] "1962-11-06"
>
날짜 문자열에는 멤버 사이에 '-'
또는 '/'
또는 공백이 없어야합니다. 형식. 자열은 해당 입력. 자열과 정확히 일치해야합니다. 다음 예제를 고려하십시오.
> as.Date("6 Nov, 1962","%d %b, %Y")
[1] "1962-11-06"
>
날짜 문자열에는 쉼표가 있으므로 형식 지정의 쉼표도 있습니다. 형식. 자열에서 쉼표가 생략되면 NA
됩니다. %B
형식 지정자의 사용 예는 다음과 같습니다.
> as.Date("October 12, 2016", "%B %d, %Y")
[1] "2016-10-12"
>
> as.Date("12 October, 2016", "%d %B, %Y")
[1] "2016-10-12"
>
%y
형식은 시스템에 따라 다르므로주의해서 사용해야합니다. 이 함수와 함께 사용되는 다른 매개 변수는 origin 및 tz (시간대)입니다.
문자열을 날짜 객체로 파싱하기
R에는 문자열 또는 문자열의 벡터를 사용하는 as.Date()
만든 Date 클래스가 들어 있으며 날짜가 ISO 8601 날짜 형식 인 YYYY-MM-DD
가 아닌 경우 strptime
-style 토큰의 서식 지정 문자열 .
as.Date('2016-08-01') # in ISO format, so does not require formatting string
## [1] "2016-08-01"
as.Date('05/23/16', format = '%m/%d/%y')
## [1] "2016-05-23"
as.Date('March 23rd, 2016', '%B %drd, %Y') # add separators and literals to format
## [1] "2016-03-23"
as.Date(' 2016-08-01 foo') # leading whitespace and all trailing characters are ignored
## [1] "2016-08-01"
as.Date(c('2016-01-01', '2016-01-02'))
# [1] "2016-01-01" "2016-01-02"