首页 > 解决方案 > 在 R 中将日期 2008-10-26 02:00:00 转换为 POSIXct 时出现问题

问题描述

由于一些奇怪的原因,我在将日期 2008-10-26 02:00:00 转换为 R 中的 POSIXct 时遇到问题。我一直在处理数百万个日期,似乎我总是偶然发现日期范围相同的问题从 2008-10-26 02:00:00 到 2008-10-26 02:59:59(2008-10-26 2pm 的任何内容)。

例如,它可以正常工作:

> as.POSIXct("2008-10-26 03:00")
[1] "2008-10-26 03:00:00 +05"

但是随着 2008-10-26 02:00:00:

> as.POSIXct("2008-10-26 02:00")
[1] "2008-10-26 +04"

日期最初位于格式的数据框中%Y-%m-%dT%H:%M:%SZ。我使用代码measurement_date = as.POSIXct(df_txt$V1, format = "%Y-%m-%dT%H:%M:%SZ")将所有日期转换为 POSIXct,并在数据框中留下了 NA,如图所示:

> df[80960:80970,]
      study_id    measurement_date oxy_conc ph salinity  temp
80960       87 2008-10-26 01:50:00       NA NA       NA 10.38
80961       87                <NA>       NA NA       NA 10.37
80962       87                <NA>       NA NA       NA 10.36
80963       87                <NA>       NA NA       NA 10.36
80964       87                <NA>       NA NA       NA 10.35
80965       87                <NA>       NA NA       NA 10.33
80966       87                <NA>       NA NA       NA 10.33
80967       87 2008-10-26 03:00:00       NA NA       NA 10.34
80968       87 2008-10-26 03:10:00       NA NA       NA 10.35
80969       87 2008-10-26 03:20:00       NA NA       NA 10.34
80970       87 2008-10-26 03:30:00       NA NA       NA 10.36

我什至尝试通过计算来解决这个问题。例如,在下面的代码中,我尝试将 10 分钟添加到 2008-10-26 01:50,但即使在这里它也失败了:

> as.POSIXct("2008-10-26 01:50")+60*10
[1] "2008-10-26 03:00:00 +05"

任何帮助将不胜感激。非常感谢!

标签: rdate

解决方案


推荐阅读