可以在 R 中以日-月-年格式设置日期变量吗?
Possible to have date variable in day-month-year format in R?
我正在使用 Rmarkdown 制作 'Make your own graph tutorial',
我有一个带有日期变量的数据集(格式:日-月-年),使用 dmy(variable) 我可以正确地 class 变量作为 'Date' 变量(格式:年-月-日) .
用户必须根据此日期进行过滤,鉴于荷兰人使用日-月-年格式,我希望允许他们根据此格式进行过滤。 (我可以简单地告诉他们以年-月-日格式进行过滤,但这会使练习变得复杂。)
问题目标:让 R 将变量识别为日期,但使用日-月-年格式
date <- "28-02-2020"
date <- as.Date(date, "%d-%m-%Y")
class(date)
再次:日期现在给出“2020-02-28”-我想要“28-02-2020”(class:日期)
据我了解,不,不可能。
在内部,R 将日期存储为自 1970 年 1 月 1 日以来的天数,并以 "YYYY-mm-dd" 格式打印出来。鉴于世界各地的人们使用不同的格式,如果不是这样,那就太乱了。
附带说明一下,如果您需要绘制数据,ggplot2 为您提供了正确设置日期格式的选项,而无需将它们转换为字符或因子。
作为旁注 2,base r 允许您调整日期的格式,这取决于可用的系统区域设置,您可以设置(这在不同的系统上是不同的,我使用 ubuntu):
Sys.setlocale("LC_TIME", "en_US.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-May-01"
Sys.setlocale("LC_TIME", "de_CH.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-Mai-01"
在此处查看更多信息:
How to change the locale of R?
我正在使用 Rmarkdown 制作 'Make your own graph tutorial', 我有一个带有日期变量的数据集(格式:日-月-年),使用 dmy(variable) 我可以正确地 class 变量作为 'Date' 变量(格式:年-月-日) .
用户必须根据此日期进行过滤,鉴于荷兰人使用日-月-年格式,我希望允许他们根据此格式进行过滤。 (我可以简单地告诉他们以年-月-日格式进行过滤,但这会使练习变得复杂。)
问题目标:让 R 将变量识别为日期,但使用日-月-年格式
date <- "28-02-2020"
date <- as.Date(date, "%d-%m-%Y")
class(date)
再次:日期现在给出“2020-02-28”-我想要“28-02-2020”(class:日期)
据我了解,不,不可能。
在内部,R 将日期存储为自 1970 年 1 月 1 日以来的天数,并以 "YYYY-mm-dd" 格式打印出来。鉴于世界各地的人们使用不同的格式,如果不是这样,那就太乱了。
附带说明一下,如果您需要绘制数据,ggplot2 为您提供了正确设置日期格式的选项,而无需将它们转换为字符或因子。
作为旁注 2,base r 允许您调整日期的格式,这取决于可用的系统区域设置,您可以设置(这在不同的系统上是不同的,我使用 ubuntu):
Sys.setlocale("LC_TIME", "en_US.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-May-01"
Sys.setlocale("LC_TIME", "de_CH.utf8")
format(Sys.Date(), format = "%Y-%b-%d")
[1] "2020-Mai-01"
在此处查看更多信息:
How to change the locale of R?