#r #datetime-format
#r #datetime-format
Вопрос:
Я пытаюсь переформатировать динамическую строку, которая описывает дату дня. Сегодняшняя строка — «6 декабря 2020 года». Завтра это будет «7 декабря 2020 года».
Я хотел бы переформатировать строку так, чтобы дни месяца 1-9 были написаны «01», «02» и т.д.
Строка очищена, но для иллюстративных целей давайте просто скажем:
lastupDate <- "December 6, 2020"
Ниже приведен очень неуклюжий, повторяющийся способ переформатирования строки независимо от фактической даты:
lastupDATE <- gsub(" 1,", " 01,", lastupDATE)
lastupDATE <- gsub(" 2,", " 02,", lastupDATE)
lastupDATE <- gsub(" 3,", " 03,", lastupDATE)
lastupDATE <- gsub(" 4,", " 04,", lastupDATE)
lastupDATE <- gsub(" 5,", " 05,", lastupDATE)
lastupDATE <- gsub(" 6,", " 06,", lastupDATE)
lastupDATE <- gsub(" 7,", " 07,", lastupDATE)
lastupDATE <- gsub(" 8,", " 08,", lastupDATE)
lastupDATE <- gsub(" 9,", " 09,", lastupDATE)
Это довольно некрасиво. Это делает свое дело, но мне любопытно, есть ли у кого-нибудь идея получше.
Большое спасибо!
Ответ №1:
Мы можем преобразовать в Date
класс, а затем выполнить format
format(as.Date(lastupDate, '%B %d, %Y'), "%m %d, %Y")
#[1] "12 06, 2020"