繁体   English   中英

生成给定时间范围内的日期和时间

[英]Generate date and time between a given time frame

我想在 2019 年 1 月 12 日到 2020 年 6 月 30 日之间以“MM/DD/YYYY mm:ss”格式生成大量(比如 1,000)日期时间,但以不规则间隔分隔(在连续观察之间) , 然后 append 数据作为新列到相同行长度的 dataframe。 所需的输出应如下所示:

 id mem_id phone time 2 549 2023406636 12/01/2019 13:41 2 549 2023406636 12/07/2019 02:45 3 222 2023402289 12/25/2019 11:27 3 222 2023402289 01/12/2020 08:30 2 549 2023406636 01/14/2020 10:54 3 222 2023402289 03/12/2020 12:34

我参考了timeDatetimeDate包(以及这个较早的线程),但不知道如何执行此操作。 如果有人能对此有所了解,我们将不胜感激。

一种方法是在start_dateend_date之间生成一个间隔为 1 秒的序列,并从中sample n值。

start_date <- as.POSIXct('2019-01-12', format = '%Y-%m-%d', tz = 'UTC')
end_date <- as.POSIXct('2020-06-30', format = '%Y-%m-%d', tz = 'UTC')
n <- 1000

date_Time <- sort(sample(seq(start_date, end_date, by = 'sec'), n))
head(date_Time)
#[1] "2019-01-12 18:48:49 UTC" "2019-01-14 04:38:40 UTC" "2019-01-14 06:00:24 UTC"
#[4] "2019-01-15 06:39:53 UTC" "2019-01-15 13:31:48 UTC" "2019-01-15 15:05:13 UTC"

如果您需要特定格式的数据,可以在date_Time上使用format

date_Time_format <- format(date_Time, '%m/%d/%Y %H:%M')
head(date_Time_format)
#[1] "01/12/2019 18:48" "01/14/2019 04:38" "01/14/2019 06:00" "01/15/2019 06:39"
#[5] "01/15/2019 13:31" "01/15/2019 15:05"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM