如何使用R从日期中删除UTC

oo7oh9g9  于 2023-01-28  发布在  其他
关注(0)|答案(5)|浏览(194)

我试图从这个数据中删除utc,并将其保留在单引号中,这是我在R中使用的函数。

date.start   = as.Date(Sys.Date())

但我得到的结果是

0qx6xfy6

0qx6xfy61#

我猜date.startSys.time(),因此请执行以下操作:
date.start = as.Date(Sys.time())

Sys.Date()
Sys.time()
Sys.timezone()

as.Date(Sys.time())

Output:
> Sys.Date()
[1] "2021-08-17"
> Sys.time()
[1] "2021-08-17 09:14:33 CEST"
> Sys.timezone()
[1] "Europe/Berlin"

> as.Date(Sys.time())
[1] "2021-08-17"
w46czmvw

w46czmvw2#

我认为时区'UTC'是由您的系统设置设定的。我认为用lubridate生成系统日期可能会避开R:

date.start = lubridate::today(tzone = "")
jpfvwuh4

jpfvwuh43#

使用sub

sub(" UTC", "", date)
[1] "2021-08-17" "2020-12-12"

试验数据:

date <- c("2021-08-17 UTC", "2020-12-12 UTC")
4si2a6ki

4si2a6ki4#

获取数据时尝试使用不同的时间格式。

format(Sys.time(),"%d-%m-%y")

为了更好地理解你可以阅读rblogger文章在R的日期格式在这里:

  • 一个月一次 *
watbbzwu

watbbzwu5#

我不知道你为什么要删除它。那会有帮助。另一个答案告诉你如何将它转换成字符串。
但是您可能希望它是日期格式,以便执行类似seq(Sys.Date(), Sys.Date() + 24, by = 'day')的操作。
如果你想在一个特定的时区加入数据集的原因是在午夜,你应该使用lubridateforce_tz ala force_tz(Sys.Date(), 'America/Chicago') .要小心,因为它的时区将根据需要改变,由于夏令时.这就是为什么它通常更好地坚持使用UTC无论如何.
否则,正如另一张海报提到的,只需转换为字符串并将其格式化为ala format(Sys.Date(),"%Y-%m-%d")

相关问题