POSIXct 날짜 시간이 주어지면 집계 월의 첫 번째 날을 어떻게 추출합니까?윤활유를 사용하는 POSIXct 날짜 시간부터 해당 월의 첫 번째 날
library(lubridate)
full.date <- ymd_hms("2013-01-01 00:00:21")
POSIXct 날짜 시간이 주어지면 집계 월의 첫 번째 날을 어떻게 추출합니까?윤활유를 사용하는 POSIXct 날짜 시간부터 해당 월의 첫 번째 날
library(lubridate)
full.date <- ymd_hms("2013-01-01 00:00:21")
lubridate 아래 날짜 배를 반올림 floor_date
라는 기능이 있습니다.
library(lubridate)
full.date <- ymd_hms("2013-01-01 00:00:21")
floor_date(full.date, "month")
[1] "2013-01-01 UTC"
first.of.month <- ymd(format(full.date, "%Y-%m-01"))
first.of.month
[1] "2013-01-01 UTC"
내가 lubridate 사용하는 이유가 표시되지 않습니다 :
full.date <- as.POSIXct("2013-01-11 00:00:21", tz="GMT")
monthStart <- function(x) {
x <- as.POSIXlt(x)
x$mday <- 1
as.Date(x)
}
monthStart(full.date)
#[1] "2013-01-01"
문자열 형식 해킹을 사용하지 않는 경우 +1 (나와 같은). – nacnudus
그냥 이것에 대해 좋은 길을 찾아 왔습니다. 정말 쉽고, 윤활유와도 복잡해졌습니다. –
내가 다른 해결책이 있습니다 : unit = "month"
로를 호출하면 당신이 원하는 것을 정확히 수행
first.of.month <- full.date - mday(full.date) + 1
을하지만 라이브러리 'lubridate'또는 'date.table'(data.table와 통합)가 필요
나는 그것을 할 수있는 한 가지 방법을 알고 있으며, 거기에 더 똑똑한 방법이 있기를 바랍니다. – nacnudus