Я могу прочитать даты из файла CSV, чтобы получить список дат и времени.Мой вход выглядит так:
2018/10/11 15:0:0
Я прочитал это в час p1 $.Мне это нужно в POSIXct, поэтому я конвертирую строку:
p1$timeUtc <- as.POSIXct(p1$hour,tz='Asia/Calcutta')
, потому что время в моем CSV-файле из Индии, часовой пояс IST.
Когда я наблюдаю атрибуты p1 $ timeUtc, Я вижу
attributes(p1$timeUtc)
$class
[1] "POSIXct" "POSIXt"
$tzone
[1] "Asia/Calcutta"
Если я запрашиваю значение записи на консоли R (в RStudio), я вижу
p1$timeUtc[[1]]
[1] "2018-10-11 15:00:00 IST"
Атрибут $ tzone управляет форматом отображенияиспользуемый.Если я изменяю его на UTC, я вижу, что в другой зоне отображается то же время:
> attr(p1$timeUtc,'tzone') <- 'UTC'
> p1$timeUtc[[1]]
[1] "2018-10-11 09:30:00 UTC"
> attr(p1$timeUtc,'tzone') <- 'Asia/Calcutta'
> p1$timeUtc[[1]]
[1] "2018-10-11 15:00:00 IST"
Таким образом, я могу влиять на формат отображения переменной POSIXct, не меняя ее значение.
Но если датой csv считается полночь, 2018/10/12 00:0:0
, вывод консоли пропускает время:
> p1$timeUtc[[2]]
[1] "2018-10-12 IST"
, что немного сбивает с толку.Я просто хотел бы, чтобы это было '%Y-%m-%d %H:%M %Z'
.
Далее, когда я использую View(p1)
для отображения таблицы данных в RStudio, который, кажется, использует атрибут tzone, но опускает "IST" вконец.Но он печатает 2018-10-12 00:00:00
за полночь.(Но, может быть, это только потому, что я смотрю на список, а не на одно значение?)
Я знаю, что могу преобразовать POSIXct в строку и распечатать его как захочу.Но я не хочу этого делать;Я хочу указать, как консоль R отображает переменную POSIXct, и как RStudio View()
отображает переменную.Я могу изменить часовой пояс, используемый для отображения.Есть ли способ изменить формат, используемый для отдыха?Я искал в options
общий контроль, но не мог найти способ.