【问题标题】:R code to change date for an entire columnR代码更改整个列的日期
【发布时间】:2021-02-16 22:15:08
【问题描述】:

我正在尝试在 R 中编辑一列 POSIXlt 格式的日期时间值。我想将此列中的每一行加上或减去小时的标量值以更改时区。

到目前为止,我的代码如下所示:

df$Time_LMT <- strptime(paste(df$Time_LMT), format = "%Y-%m-%dT%H:%M:%S", tz = "UTC") 

str(df$Time_LMT)

df$Time_LMT = as.POSIXlt(df$Time_LMT,tz="Asia/Bangkok")

在上面的示例中,我尝试将时区 UTC 转换为“亚洲/曼谷”时区,但是,time_LMT 列中的日期时间数据仍然与 UTC 时间相同,任何帮助都是赞赏。

【问题讨论】:

  • 此处有用信息 - stackoverflow.com/questions/30904851/… - 这取决于您是要更改显示的时间/时区而不更改基础时间(自 1970-01-01 UTC 以来的秒数),还是实际强制相同时间如UTC至亚洲/曼谷所示。
  • 如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example

标签: r dataframe datetime timezone posixlt


【解决方案1】:

试试:

library(lubridate)
with_tz(df$Time_LMT, "Asia/Bangkok")

【讨论】:

  • 哦,对不起。 lubridate.
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 2021-08-12
  • 2022-08-23
  • 1970-01-01
  • 2022-11-03
  • 2018-04-08
  • 1970-01-01
  • 2021-11-28
相关资源
最近更新 更多