r - 关于 R 中日期时间转换的困惑
问题描述
我正在尝试将字符串转换为 R 中的 dateTime 对象
样本数据:
以下是我用于转换的代码
sample$Tweet_Timestamp <- lapply(sample$Tweet_Timestamp, function(x) as.POSIXct(strptime(x, "%a %b %d %H:%M:%S %z %Y")))
sample<-sample%>%unnest(Tweet_Timestamp)
我得到的结果如下:
现在在结果中我们可以看到日期已从 2 月 18 日转换为 2 月 19 日。我不明白为什么会得到这样的结果。有人可以帮我破译吗?
解决方案
as.POSIXct 会自动将日期时间转换为本地系统的时区。如果您希望保留原始时区,您可以通过添加tz = "UTC"
默认的通用时间来实现。
例如,以下代码(使用示例数据的第一行):
as.POSIXct(strptime("Tue Feb 18 23:09:57 +0000 2014", "%a %b %d %H:%M:%S %z %Y", tz = "UTC"))
将产生以下输出(不改变时区):
[1] "2014-02-18 23:09:57 UTC"
推荐阅读
- solr - 计划将 solr 6.x 升级到 8.x。请提供升级步骤?
- javascript - React-Native 中“导出默认 App”的目的
- reactjs - React Native Navigation (ver4.x) 无法在自定义标头组件中获取道具。不断收到未定义的错误
- postgresql - 运算符不存在:用于索引查询的`int2vector @> oid`
- python - 如何获取分析项目的页面公共内容访问权限?
- html - 当我们使用 CanVG 导出到 PNG 时,多行标题不起作用 - Highcharts
- python - 无法在 PIP 中安装代理代理
- java - 对 Java 中任何 URL 的 HTTP(S) 请求
- python - 如何解决同一目录中的 .py 文件?
- ruby - 最快的 Net::HTTP/Net::HTTPS Ruby 包装器