Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中检查字符串是否为datetime格式?_R_Tidyverse_Lubridate - Fatal编程技术网

如何在R中检查字符串是否为datetime格式?

如何在R中检查字符串是否为datetime格式?,r,tidyverse,lubridate,R,Tidyverse,Lubridate,编辑:是否可以检查字符串是否为特定格式,如“y-m-d”、“h:m:s” lubridate::is.timepoint(Sys.time()) #> TRUE lubridate::is.timepoint(Sys.Date()) #> TRUE 从?lubridate::is.timepoint的文档中: 如果x是POSIXct、POSIXlt或日期对象,则为TRUE,否则为FALSE 如果只想标识日期时间而不标识日期: lubridate::is.POSIXt(Sys.ti

编辑:是否可以检查字符串是否为特定格式,如“y-m-d”、“h:m:s”

lubridate::is.timepoint(Sys.time())
#> TRUE
lubridate::is.timepoint(Sys.Date())
#> TRUE
?lubridate::is.timepoint的文档中:

如果x是POSIXct、POSIXlt或日期对象,则为TRUE,否则为FALSE


如果只想标识日期时间而不标识日期:

lubridate::is.POSIXt(Sys.time())
#> TRUE
lubridate::is.POSIXt(Sys.Date())
#> FALSE

编辑

如果你想检查一种特定的格式,你可以试着用这种格式来阅读,如果你得到NA,那么它就不是

例如:

is.ymd_hms <- function(x) !is.na(lubridate::ymd_hms(x, quiet = TRUE))

is.ymd_hms("2020-01-01 22:22:22")
#> TRUE
is.ymd_hms("2020-31-01 22:22:22")
#> FALSE

运行
str()
查看对象的结构。我似乎找不到str()的文档。但是如果我在str()中放入一个字符串,它将只是R中的chr,它不会检查除此之外的任何内容@Phill您应该提供一些示例,说明您期望函数的行为。如果您向我们展示您尝试了一些不起作用的内容,那就更好了。那么,是否可以检查字符串是否采用特定格式,例如“y-m-d”、“h:m:s”查看我的编辑
is.ymd_hms2 <- function(x) !is.na(as.Date(x, "%Y-%m-%d %H:%M:%S"))

is.ymd_hms2("2020-01-01 22:22:22")
#> TRUE
is.ymd_hms2("2020-31-01 22:22:22")
#> TRUE
is.ymd_hms("2020/01/01 22:22:22")
#> TRUE
is.ymd_hms2("2020/01/01 22:22:22")
#> FALSE