Преобразовать поле времени, хранящееся в виде целого числа, в 24-часовой формат

#r

#r

Вопрос:

У меня есть несколько полей времени, которые хранят время как целое число (например, 12: 06 утра сохраняется как 6, 7:10 вечера сохраняется как 1910). Мне нужно преобразовать это в формат времени, который я затем могу объединить (объединить) с моим полем даты. Желательно, чтобы оно выглядело так, когда я закончу: 28.02.2017 22:38.

Ответ №1:

Объект POSIXct хранит даты и время как «секунды с 1970-01-01». Вам нужно будет преобразовать минуты в секунды, затем добавить это к полуночи рассматриваемой даты, а затем преобразовать это в объект POSIXct.

Вот как вы бы обработали «6» (т. Е. 12:06 утра сегодня)

 > as.POSIXct("2019-04-10 00:00:00")   6 * 60
[1] "2019-04-10 00:06:00 PDT"
  

Вы можете использовать format , если хотите сохранить только время:

 > dateTime = as.POSIXct("2019-04-10 00:00:00")   6 * 60
> dateTime
[1] "2019-04-10 00:06:00 PDT"
> format(dateTime, format = "%H:%M:%S")
[1] "00:06:00"