2016-01-01 4 views
3

Например, если у меня есть объект Date (или POSIXct) и он находится в формате «2016-01-01», есть простой способ его преобразования: «1 января 2016 года» (или что-то в этом роде) без написав мою собственную функцию?Есть ли простой способ конвертировать дату в длинный текстовый вывод?

+9

'? Format' или'? Strftime'. –

+0

x <- "2016-01-01"; strftime (x, format = "% B% d% Y") – MLavoie

+0

Downvote, если вы хотите, но ни один из моих Googling не возвращал «strftime» как возможность (вместо этого я продолжал спускаться вниз по черным дырам lubridate), поэтому спасибо. – Zelbinian

ответ

4

Это должно работать на то, о чем вы просите.

date <- "2016-01-01" 

format.Date(date, format = "%B %d, %Y") 

[1] "January 01, 2016" 
1

Lubridate имеет набор функций, которые извлекают информацию из объекта данных времени, увидеть "Setting and Extracting information" section of the vignette. Если вы хотите сформировать выходную строку, вы можете вставить выходы вместе.

Например

library(lubridate) 
date <- ymd("2016-01-01") 
paste0(month(date, label = TRUE, abbr = FALSE), " ", day(date), ", ", year(date)) 
[1] "January 1, 2016" 

Это больше кода, но я лично считаю, что функции легче запомнить.

+0

Ха, я знал о функции «месяц», но по какой-то причине я не обнаружил, что у нее были другие аргументы. Я чувствую себя глупым. – Zelbinian