Не знаю, насколько точно вы хотите быть точным, но вы можете очень точно определить дату и время с помощью пакета lubridate. Что удивительно в единицах времени, так это то, что их продолжительность зависит от того, когда они происходят из-за високосных секунд, високосных дней и других условностей.
После загрузки lubridate вычитание даты и времени автоматически создает объект временного интервала.
library(lubridate)
int <- Sys.time() - (Sys.time() + 10000)
Затем вы можете изменить его на продолжительность, которая измеряет точную продолжительность времени. Длительности отображаются в секундах, потому что секунды являются единственной единицей, которая имеет одинаковую длину. Если вы хотите, чтобы ваш ответ был в определенной единице, просто поделите на длительность объекта, длина которого равна одной из этих единиц.
as.duration(int)
int / dseconds(1)
int / ddays(1)
int / dminutes(5) #to use "5 minutes" as a unit
Или вы можете просто изменить int на точку. В отличие от длительностей, периоды не имеют точной и последовательной длины. Но они точно показывают время на часах. Вы можете делать математику, добавляя и вычитая периоды и длительности к дате и времени.
as.period(int)
Sys.time() + dseconds(5) + dhours(2) - ddays(1)
Sys.time() + hours(2) + months(5) - weeks(1) #these are periods