我试图用R
语言检查给定日期是否为dd / mm / yyyy格式,以及它是否同时是有效日期。我希望输出为TRUE或FALSE格式,例如
输入:
date<- c('12/05/2016','35/11/2067','12/52/1000')
输出:
TRUE FALSE FALSE
答案 0 :(得分:3)
您可以使用此功能:
IsDate <- function(mydate, date.format = "%d/%m/%y") {
tryCatch(!is.na(as.Date(mydate, date.format)),
error = function(err) {FALSE})
}
IsDate(date)
[1] TRUE FALSE FALSE
代码的原始来源here。
答案 1 :(得分:0)
你也可以使用lubridate包:
n1 = (Testmodel1.objects
.filter(entry_time__gte=last, stage=1)
.annotate(t_count=Count('contacts'))
.filter(t_count__gt=3)
)
答案 2 :(得分:0)
这是一个处理validate
的矢量化基础R函数,可以防止SQL注入:
NA
让我们尝试一下:
is_date = function(x, format = NULL) {
formatted = try(as.Date(x, format), silent = TRUE)
is_date = as.character(formatted) == x & !is.na(formatted) # valid and identical to input
is_date[is.na(x)] = NA # Insert NA for NA in x
return(is_date)
}