Date-Time Conversion Function in R


R에서는 이것의 처리를 위해서 POSIXlt와 POSICct를 사용 할 수 있다.

예제

> Sys.time()
[1] "2015-12-12 13:08:11 KST"

> Sys.timezone()
[1] "Asia/Seoul"

> Sys.Date()
[1] "2015-12-12"

현재 datetime을 class로 받은다음 그것을 integer로 변경하는 방법

> z <- Sys.time()
> z
[1] "2015-12-12 13:27:17 KST"
> unclass(z)
[1] 1449894437

#다시 원래대로 복구함
> as.POSIXct(1449894437,origin="1970-01-01")
[1] "2015-12-12 13:27:17 KST"

서로 다른 시간으로 변경하

> as.POSIXlt(Sys.time(), "GMT")
[1] "2015-12-12 04:45:42 GMT"
> as.POSIXlt(Sys.time(), "EST5EDT")  # the current time in New York
[1] "2015-12-11 23:46:48 EST"
> as.POSIXlt(Sys.time(), "EST" )     # ditto, ignoring DST
[1] "2015-12-11 23:46:48 EST"
> as.POSIXlt(Sys.time(), "HST")      # the current time in Hawaii
[1] "2015-12-11 18:46:48 HST"
> as.POSIXlt(Sys.time(), "Australia/Darwin")
[1] "2015-12-12 14:16:48 ACST"

timestamp (milliseconds) 처리하기

#POSIXct 함수를 이용한
time <- 1433848856453
timezone <- 10800000
options(digits.secs=3)
as.POSIXct((time+timezone)/1000, origin="1970-01-01")

참고자료

as.POSIX*{base}
Dealing with timestamps in R


+ Recent posts