【问题标题】:Converting datetime character vector into date-time format将日期时间字符向量转换为日期时间格式
【发布时间】:2021-08-04 07:34:08
【问题描述】:

我尝试将以下字符向量转换为日期时间格式(“%Y-%m-%d %H:%M:%S”),但无法成功转换午夜时间戳。如果向量在同一操作中同时包含日期(午夜 00:00:00)和日期时间。任何方便的选项都可以做到这一点。请忽略字符长度和粘贴选项。谢谢。

dttime=c()
dttime=c("2021-08-03 11:59:59", "2021-08-03 12:59:59", "2021-08-03", 
"2021-08-03 16:59:59")
strptime(dttime, format = "%Y-%m-%d %H:%M:%S")
[1] "2021-08-03 11:59:59 IST" "2021-08-03 12:59:59 IST" NA "2021-08-03 16:59:59 IST 
as.POSIXct(dttime, format = "%Y-%m-%d %H:%M:%S")
[1] "2021-08-03 11:59:59 IST" "2021-08-03 12:59:59 IST" NA "2021-08-03 16:59:59 IST"
format(dttime, format = "%Y-%m-%d %H:%M:%S")
[1] "2021-08-03 11:59:59" "2021-08-03 12:59:59" "2021-08-03         " "2021-08-03 16:59:59

期望的输出是:

dttime
[1] "2021-08-03 11:59:59" "2021-08-03 12:59:59" "2021-08-03 00:00:00" "2021-08-03 16:59:59

任何其他可用的现有方法。

dttime[nchar(dttime)<19]=paste(dttime[nchar(dttime)<19],"00:00:00")
> dttime
 [1] "2021-08-03 11:59:59" "2021-08-03 12:59:59" "2021-08-03 00:00:00" "2021-08-03 16:59:59"

【问题讨论】:

  • 试试format()...即format(dttime, '%Y-%m-%d %H:%M:%S')。一般来说 00:00:00 在那里,但它根本不打印
  • @Sotos 在将其写入任何模式或将其作为 csv 文件推送之前,我们如何确保其为“00:00:00”。它的 (format(dttime, format = "%Y-%m-%d %H:%M:%S")[3]=="2021-08-03 00:00:00") 实际上返回 false。

标签: r datetime format posixct strptime


【解决方案1】:

您可以使用 lubridate 包中的 as_datetime 函数

library(lubridate)
#> Warning: package 'lubridate' was built under R version 3.6.3
#> 
#> Attaching package: 'lubridate'
#> The following objects are masked from 'package:base':
#> 
#>     date, intersect, setdiff, union
dttime = c("2021-08-03 11:59:59", "2021-08-03 12:59:59",
           "2021-08-03", "2021-08-03 16:59:59")
as_datetime(dttime, tz = "UTC")
#> [1] "2021-08-03 11:59:59 UTC" "2021-08-03 12:59:59 UTC"
#> [3] "2021-08-03 00:00:00 UTC" "2021-08-03 16:59:59 UTC"

您可以将时区更改为另一个时区,请参阅?as_datetime

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 2017-12-09
    相关资源
    最近更新 更多