開始使用免費開始

使用 `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 = ___)
編輯並執行程式碼