使用 `parse_date_time()` 指定順序
如果遇到像 dym_msh 這種非常奇怪的順序怎麼辦?沒有專門對應這個順序的命名函式,這時就要用 parse_date_time()。parse_date_time() 多了一個參數 orders,你可以在這裡指定日期元件的順序。
例如,要剖析 "2010 September 20th",可以寫成 parse_date_time("2010 September 20th", orders = "ymd"),這和上一題使用 ymd() 的效果相同。
parse_date_time() 的一大優點是可使用更多格式字元。例如,用 A 指定星期幾名稱、I 指定 12 小時制時間、用 p 指定 am/pm 標示,還有很多其他選項。完整清單請見說明文件 ?parse_date_time。
另一個重要優點是可以指定一個順序向量,讓你能剖析同一欄位中可能混用多種格式的日期。
你將在本題中實際操作看看。
本練習屬於課程
在 R 中處理日期與時間
練習說明
x是較棘手的日期時間。請依照說明裡的線索來剖析x。two_orders含有兩種不同順序,請將orders指定為c("mdy", "dmy")來同時剖析。- 使用
orders = c("dOmY", "OmY", "Y")來剖析short_dates。*沒有指定月份或日期的那些日期會變成怎樣?*
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Specify an order string to parse x
x <- "Monday June 1st 2010 at 4pm"
___(x, orders = "___")
# Specify order to include both "mdy" and "dmy"
two_orders <- c("October 7, 2001", "October 13, 2002", "April 13, 2003",
"17 April 2005", "23 April 2017")
parse_date_time(two_orders, orders = ___)
# Specify order to include "dOmY", "OmY" and "Y"
short_dates <- c("11 December 1282", "May 1372", "1253")
parse_date_time(short_dates, orders = ___)