У меня в настоящее время есть объект точки с этим значением:
"35d 17H 15M 28.9999999995343S"
Я бы хотел получить другой вывод:
35 days 17 hours 15 minutes 28 seconds
Я также хотел бы иметь возможность отформатировать его так, чтобы единицы принимали "s" или нет, в зависимости от того, являются ли единицы времени> 1 или нет.
Я уже пытался получить атрибуты объекта с помощью attr(period_object, "unit")
, но я не могу изменить секунд , так как кажется, что их нет в объекте.
str(as.period(period_object))
Formal class 'Period' [package "lubridate"] with 6 slots
..@ .Data : num 29
..@ year : num 0
..@ month : num 0
..@ day : num 35
..@ hour : num 17
..@ minute: num 15
Вот пример данных:
library(lubridate)
time1 <- as.POSIXct("2019-01-01 15:12:07")
time2 <- as.POSIXct("2019-02-06 08:27:36")
period_object <- difftime(time2, time1)
as.period(period_object)
[1] "35d 17H 15M 28.9999999995343S"
Итак, окончательный вывод, который я хочу получить:
35 days 17 hours 15 minutes 28 seconds
У кого-нибудь есть подсказки? Спасибо.