首页 > 解决方案 > Lubridate - 如何使用 parse_date_time 正确解析十进制分钟

问题描述

假设您有一个以分钟为单位的时间向量,该向量存储为十进制数。在本例中,我将选择 2.5,即 2 分 30 秒。

我想使用lubridate'sparse_date_time函数来解析它。但是,我看到的输出是错误的。运行此行后:

parse_date_time(2.5, "M:S")

我得到以下输出:

"0000-01-01 00:02:05 UTC"

而不是预期

"0000-01-01 00:02:30 UTC"

不知何故,lubridate 不承认我的.5意思不是 5 秒,而是 30 秒,因为两分半钟是 2 分 30 秒而不是 2 分 5 秒。

我应该使用什么格式parse_date_time来获得预期的输出?

标签: rlubridate

解决方案


这是一个基本的 R 选项:

val <- 2.5
as.POSIXct(val*60, origin = '0000-01-01', tz = 'UTC')
#[1] "0000-01-01 00:02:30 UTC"

推荐阅读