2016-07-11 2 views
0

Я хотел бы получить формат данных, например «yyyy-mm-dd hh: mm: ss timezone» для Sys.time() как часть «cat», функция. Когда я использую две функции самостоятельно, нет проблем, но когда я использую функцию преобразования внутри функции cat, я не получаю желаемый формат данных. Как я могу решить эту проблему?Как правильно использовать функцию asPOSIXct внутри функции cat

> cat("THE TIME NOW: ",as.POSIXct(Sys.time(), origin="1970-01-01")) 
THE TIME NOW: 1468251677 
> as.POSIXct(Sys.time(), origin="1970-01-01") 
[1] "2016-07-11 18:41:21 IDT" 
+2

'Sys.time()' возвращает объект 'POSIXt'; вы можете просто использовать 'cat (« Текущее время: », strftime (Sys.time())), если вы хотите форматировать по умолчанию. – nrussell

ответ

1

Я думаю, это то, что вы хотите:

cat("THE TIME NOW: ",as.character(as.POSIXct(Sys.time(), origin="1970-01-01"),usetz=T),sep="") 

Выход:

THE TIME NOW: 2016-07-11 16:55:15 BST 

Я просто должен был преобразовать вывод функции as.POSIXct (SYS.TIME()) для символа перед использованием cat. Параметр usetz = T сообщает функции as.character, что вы хотите сохранить часовой пояс.

Смежные вопросы