在R中格式化日期和时区

时间:2018-03-20 02:29:56

标签: r r-markdown lubridate

在我的Rmarkdown文档中,我想在标题中显示日期,同时省略实际时间。

目前,当前代码显示日期但不包括时区:

date: "`r format(Sys.Date(), '%d %B, %Y')`" 

> format(Sys.Date(), '%d %B, %Y')
[1] "19 March, 2018"

> Sys.time()
[1] "2018-03-19 22:22:11 EDT"

但是,如果我在strsplit()上使用Sys.time(),则省略时区:

   > strsplit(as.character(Sys.time()), " ")
[[1]]
[1] "2018-03-19" "22:25:05" 

同样,此解决方案适用于控制台,但在Rmarkdown中抛出错误:

paste(format(Sys.Date(), '%d %B, %Y'), tz(Sys.Date()))

Warning: Error in tz: could not find function "tz"

在Rmarkdown中格式化Sys.time()Sys.date()的正确方法是什么才能使显示只显示为:

"2018-03-19 EDT"

1 个答案:

答案 0 :(得分:4)

format(Sys.time(), "%Y-%m-%d %Z") 与时区规范(%Z或%z)

一起使用
SELECT ProfessorId
FROM TEACHING_ASSIGNMENT
GROUP BY Semester, ProfessorId
HAVING COUNT(*) >= 2;