開始使用免費開始

建立與格式化日期

在 R 中,若要從簡單的字元字串建立一個 Date 物件,可以使用 as.Date() 函式。字元字串必須符合一組以符號定義的格式(以下範例對應到 1982 年 1 月 13 日):

  • %Y:4 位數年份(1982)
  • %y:2 位數年份(82)
  • %m:2 位數月份(01)
  • %d:2 位數日期(13)
  • %A:星期幾(Wednesday)
  • %a:星期幾縮寫(Wed)
  • %B:月份(January)
  • %b:月份縮寫(Jan)

以下這些 R 指令都會建立相同的 Date 物件,代表 1982 年 1 月 13 日:

as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")

請注意,第一行不需要提供 format 參數,因為 R 會預設把你的字元字串對應到 "%Y-%m-%d""%Y/%m/%d" 這兩種格式。

除了建立日期之外,你也可以把日期轉成採用不同表示法的字元字串。為此可使用 format() 函式。試著執行以下程式碼:

today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")

本練習屬於課程

R 中級

檢視課程

練習說明

  • 我們已為你建立了 3 個代表日期的字元字串。請使用 as.Date() 將它們轉為日期,並分別指定給 date1date2date3date1 的程式碼已經提供。
  • 使用 format() 將日期轉成字元字串以擷取有用資訊。從第一個日期取出星期幾;從第二個日期取出「每月的第幾天」;從第三個日期取出「月份縮寫」與「4 位數年份」,兩者以空格分隔。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"

# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")



# Convert dates to formatted strings
format(date1, "%A")
編輯並執行程式碼