获取上周五的日期
Obtaining last Friday's date
我可以得到今天的日期:
Sys.Date( )
但是我如何获得上周五的日期?
我试过了:
library(xts)
date1 <- Sys.Date( )
to.weekly(date1 )
但这会出错。
我认为这应该可行:
library(lubridate)
Sys.Date() - wday(Sys.Date() + 1)
上周五是 4 天前,因此:
Sys.Date()-4
> Sys.Date()-4
[1] "2015-03-06"
或者对于一周中的任何一天,使用 base
:
Sys.Date()-(as.POSIXlt(Sys.Date())$wday+2)
这是一个函数,可以找到一周中任何一天的最后日期:
getlastdate <- function(day) {
library(lubridate)
dates <- seq((Sys.Date()-7), (Sys.Date()-1), by="days")
dates[wday(dates, label=T)==day]
}
getlastdate("Mon")
# "2015-03-09"
以缩写格式输入星期几:即
Sun Mon Tues Wed Thurs Fri Sat
试试这个:
library(zoo)
lastfri(Sys.Date())
其中 lastfri
与此动物园插图 zoo quickref vignette 中的单行函数 nextfri
相同,只是 ceiling
被替换为 floor
.请注意,lastfri
是向量化的,即它可以采用输入日期向量并生成输出日期向量。例如,
library(zoo)
Sys.Date()
## 2015-03-10
lastfri(Sys.Date() + 0:6)
## [1] "2015-03-06" "2015-03-06" "2015-03-06" "2015-03-13" "2015-03-13"
## [6] "2015-03-13" "2015-03-13"
因此,上周五是 3 月 6 日,我们一直得到 3 月 6 日,直到这一天提前到下周五,此时最后一个周五是 3 月 13 日。
旁白:下周五是 13 号星期五。
我可以得到今天的日期:
Sys.Date( )
但是我如何获得上周五的日期?
我试过了:
library(xts)
date1 <- Sys.Date( )
to.weekly(date1 )
但这会出错。
我认为这应该可行:
library(lubridate)
Sys.Date() - wday(Sys.Date() + 1)
上周五是 4 天前,因此:
Sys.Date()-4
> Sys.Date()-4
[1] "2015-03-06"
或者对于一周中的任何一天,使用 base
:
Sys.Date()-(as.POSIXlt(Sys.Date())$wday+2)
这是一个函数,可以找到一周中任何一天的最后日期:
getlastdate <- function(day) {
library(lubridate)
dates <- seq((Sys.Date()-7), (Sys.Date()-1), by="days")
dates[wday(dates, label=T)==day]
}
getlastdate("Mon")
# "2015-03-09"
以缩写格式输入星期几:即
Sun Mon Tues Wed Thurs Fri Sat
试试这个:
library(zoo)
lastfri(Sys.Date())
其中 lastfri
与此动物园插图 zoo quickref vignette 中的单行函数 nextfri
相同,只是 ceiling
被替换为 floor
.请注意,lastfri
是向量化的,即它可以采用输入日期向量并生成输出日期向量。例如,
library(zoo)
Sys.Date()
## 2015-03-10
lastfri(Sys.Date() + 0:6)
## [1] "2015-03-06" "2015-03-06" "2015-03-06" "2015-03-13" "2015-03-13"
## [6] "2015-03-13" "2015-03-13"
因此,上周五是 3 月 6 日,我们一直得到 3 月 6 日,直到这一天提前到下周五,此时最后一个周五是 3 月 13 日。
旁白:下周五是 13 号星期五。