首页 > 解决方案 > 生成一系列有序的日期时间

问题描述

我在 R 工作。

我必须生成一系列日期和时间。特别是,我希望每天有两个数据点,因此每个日期分配两次不同的时间,例如:

"2001-05-13 00:00:00"
"2001-05-13 12:00:00"
"2001-05-14 00:00:00"
"2001-05-14 12:00:00"

我发现以下代码可以生成一系列日期:

seq(as.Date("2000/1/1"), as.Date("2003/1/1"), by = 0.5)

尽管如此,即使我设置了by = 0.5,代码也只返回 a date,而不是 a datetime

知道如何生成一系列日期时间吗?

标签: rdatetime

解决方案


as.Date将只生成日期,用于as.POSIXct生成日期时间。

seq(as.POSIXct("2000-01-01 00:00:00", tz = 'UTC'), 
    as.POSIXct("2003-01-01 00:00:00", tz = 'UTC'), by = '12 hours')

# [1] "2000-01-01 00:00:00 UTC" "2000-01-01 12:00:00 UTC"
# [3] "2000-01-02 00:00:00 UTC" "2000-01-02 12:00:00 UTC"
# [5] "2000-01-03 00:00:00 UTC" "2000-01-03 12:00:00 UTC"
# [7] "2000-01-04 00:00:00 UTC" "2000-01-04 12:00:00 UTC"
# [9] "2000-01-05 00:00:00 UTC" "2000-01-05 12:00:00 UTC"
#[11] "2000-01-06 00:00:00 UTC" "2000-01-06 12:00:00 UTC"
#[13] "2000-01-07 00:00:00 UTC" "2000-01-07 12:00:00 UTC"
#...
#...

推荐阅读