Один из способов - написать собственную процедуру для суффикса 'st', 'nd', 'rd', 'th' к тому, что вы получаете от стандартных функций strftime()
и / или format()
.
Редактировать: Вот черновик:
R> datesuffix <- function(dom) { switch(as.character(dom),
+ "1"="st", "2"="nd",
+ "3"="rd", "th") }
R> nicedate <- function(d) { dlt <- as.POSIXlt(d);
+ paste(format(dlt, "%Y %B %e"),
+ datesuffix(dlt$mday), sep="") }
R> nicedate(Sys.Date())
[1] "2011 June 9th"
R> nicedate(as.Date("2011-06-01"))
[1] "2011 June 1st"
Редактировать 2 Полагаю, вы хотели, чтобы строка даты была переупорядочена. Я был в Северной Америке слишком долго ...
R> nicedate <- function(d) { dlt <- as.POSIXlt(d);
+ paste(as.character(dlt$mday),
+ datesuffix(dlt$mday),
+ format(dlt, " %B %Y"), sep="") }
R> nicedate(as.Date("2011-06-01"))
[1] "1st June 2011"
R> nicedate(as.Date("2011-06-02"))
[1] "2nd June 2011"
R> nicedate(Sys.Date())
[1] "9th June 2011"
R>
Редактировать 3 Пришлось исправить datesuffix()
, чтобы сначала преобразовать в символ.