如何将R中的系统日期从UTC转换为GMT



如何在R中将Sys.Date()从UTC转换为GMT +2:00。我尝试过下面提到的代码,但它不起作用。

Today_Date<-Sys.Date(TZ,'GMT +2:00')

我倾向于在R 中使用lubridate进行日期工作

td <- ymd( Sys.Date(), tz = "GMT" )

这足够吗?

虽然Date对象在技术上没有时区,但它们可能会受到时区的影响,具体取决于使用情况(例如,小数日期或转换为POSIXt对象)。

要回答查找格式正确的TZ字符串的字面问题,请使用OlsonNames():

grep("GMT", OlsonNames(), value = TRUE)
#  [1] "Etc/GMT"    "Etc/GMT-0"  "Etc/GMT-1"  "Etc/GMT-10" "Etc/GMT-11"
#  [6] "Etc/GMT-12" "Etc/GMT-13" "Etc/GMT-14" "Etc/GMT-2"  "Etc/GMT-3" 
# [11] "Etc/GMT-4"  "Etc/GMT-5"  "Etc/GMT-6"  "Etc/GMT-7"  "Etc/GMT-8" 
# [16] "Etc/GMT-9"  "Etc/GMT+0"  "Etc/GMT+1"  "Etc/GMT+10" "Etc/GMT+11"
# [21] "Etc/GMT+12" "Etc/GMT+2"  "Etc/GMT+3"  "Etc/GMT+4"  "Etc/GMT+5" 
# [26] "Etc/GMT+6"  "Etc/GMT+7"  "Etc/GMT+8"  "Etc/GMT+9"  "Etc/GMT0"  
# [31] "GMT"        "GMT-0"      "GMT+0"      "GMT0"      

我通常建议不要使用GMT/变体,因为它们倾向于忽略DST,尽管这可能是您想要的。

相关内容

  • 没有找到相关文章

最新更新