R Language
날짜 - 시간 클래스 (POSIXct 및 POSIXlt)
수색…
소개
R에는 두 개의 날짜 - 시간 클래스 인 POSIXct와 POSIXlt가 포함되어 있습니다 ( ?DateTimeClasses
참조).
비고
날짜 및 시간 개체의 서식 지정 및 인쇄
# test date-time object options(digits.secs = 3) d = as.POSIXct("2016-08-30 14:18:30.58", tz = "UTC") format(d,"%S") # 00-61 Second as integer ## [1] "30" format(d,"%OS") # 00-60.99… Second as fractional ## [1] "30.579" format(d,"%M") # 00-59 Minute ## [1] "18" format(d,"%H") # 00-23 Hours ## [1] "14" format(d,"%I") # 01-12 Hours ## [1] "02" format(d,"%p") # AM/PM Indicator ## [1] "PM" format(d,"%z") # Signed offset ## [1] "+0000" format(d,"%Z") # Time Zone Abbreviation ## [1] "UTC"
형식 문자열과 다른 형식에 대한 자세한 내용은 ?strptime
을 참조하십시오.
문자열을 날짜 / 시간 객체로 파싱하기
문자열을 POSIXct 및 POSIXlt로 구문 분석하는 함수는 비슷한 매개 변수를 사용하고 유사한 결과를 반환하지만 날짜 - 시간이 저장되는 방법에는 차이가 있습니다. "주의 사항"을 참조하십시오.
as.POSIXct("11:38", # time string
format = "%H:%M") # formatting string
## [1] "2016-07-21 11:38:00 CDT"
strptime("11:38", # identical, but makes a POSIXlt object
format = "%H:%M")
## [1] "2016-07-21 11:38:00 CDT"
as.POSIXct("11 AM",
format = "%I %p")
## [1] "2016-07-21 11:00:00 CDT"
날짜 및 시간대가 입력됩니다.
as.POSIXct("11:38:22", # time string without timezone
format = "%H:%M:%S",
tz = "America/New_York") # set time zone
## [1] "2016-07-21 11:38:22 EDT"
as.POSIXct("2016-07-21 00:00:00",
format = "%F %T") # shortcut tokens for "%Y-%m-%d" and "%H:%M:%S"
형식 문자열에 대한 자세한 내용은 ?strptime
을 참조하십시오.
노트
누락 된 요소
- 날짜 요소가 제공되지 않으면 현재 날짜의 요소가 사용됩니다.
- time 엘리먼트가 제공되지 않으면, 자정부터 사용된다. 즉 0이다.
- string 또는
tz
매개 변수에 시간대가 제공되지 않으면 현지 표준 시간대가 사용됩니다.
시간대
- 허용되는
tz
값은 위치에 따라 다릅니다.-
CST
는"CST6CDT"
또는"America/Chicago"
와 함께 제공됩니다.
-
- 지원되는 위치 및 시간대는 다음을 사용하십시오.
- R :
OlsonNames()
- 또는 R :
system("cat $R_HOME/share/zoneinfo/zone.tab")
- R :
- 이러한 위치는 IANA (Internet Assigned Numbers Authority)
날짜 - 시간 산술
시간을 더하거나 뺄 때 POSIXct를 사용합니다. POSIXct는 시간을 초 단위로 저장하기 때문입니다.
## adding/subtracting times - 60 seconds
as.POSIXct("2016-01-01") + 60
# [1] "2016-01-01 00:01:00 AEDT"
## adding 3 hours, 14 minutes, 15 seconds
as.POSIXct("2016-01-01") + ( (3 * 60 * 60) + (14 * 60) + 15)
# [1] "2016-01-01 03:14:15 AEDT"
보다 공식적으로, as.difftime
은 날짜 또는 datetime 객체에 추가 할 기간을 지정하는 데 사용할 수 있습니다. 예 :
as.POSIXct("2016-01-01") +
as.difftime(3, units="hours") +
as.difftime(14, units="mins") +
as.difftime(15, units="secs")
# [1] "2016-01-01 03:14:15 AEDT"
날짜 / 시간의 차이를 확인하려면 difftime()
을 초, 분, 시간, 일 또는 주 단위로 사용하십시오.
# using POSIXct objects
difftime(
as.POSIXct("2016-01-01 12:00:00"),
as.POSIXct("2016-01-01 11:59:59"),
unit = "secs")
# Time difference of 1 secs
날짜 - 시간 순서를 생성하려면 seq.POSIXt()
또는 단순히 seq
.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow