簡體   English   中英

如何使用 R 從日期中刪除 UTC

[英]How do remove the UTC from the date using R

我正在嘗試從此數據中刪除 utc,並將其用單引號引起來這是我在 R 中使用的 function。

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

但我得到了這個結果在此處輸入圖像描述

我猜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"

我認為時區“UTC”是由您的系統設置設置的。 我相信使用 lubridate 生成系統日期可能會回避 R 內的問題:

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

使用sub

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

測試數據:

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

獲取數據時嘗試使用不同的時間格式。

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

為了更好地理解,您可以在此處閱讀 R 中有關日期格式的 rbloggers 文章:
https://www.r-bloggers.com/2013/08/date-formats-in-r/

我不確定你為什么要刪除它。 那會有所幫助。 另一個答案向您展示了如何將其轉換為字符串。

但是您會希望它以日期格式執行類似seq(Sys.Date(), Sys.Date() + 24, by = 'day')

如果您希望它在特定時區的原因是在午夜加入數據集,您應該使用lubridate 's force_tz ala force_tz(Sys.Date(), 'America/Chicago') 在這里要小心,因為時區會根據夏令時的需要而改變。 這就是為什么通常最好堅持使用 UTC 的原因。

否則,正如另一位海報所提到的,只需將其轉換為字符串並將其格式化為format(Sys.Date(),"%Y-%m-%d")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM