如何将日期格式从 YYYY/MM/DD 更改为 DD/MM/YYYY

Mus*_*Guy 2 r date

我有一列作为值读入的日期character(是的,它们应该是相同的):

str(df$date)

$ date : chr  "30/08/2017" "30/08/2017" "30/08/2017" "30/08/2017"
Run Code Online (Sandbox Code Playgroud)

然后我将这些值转换为Date格式:

str(df$date)

$ date : Date, format: "2017-08-30" "2017-08-30" "2017-08-30"
Run Code Online (Sandbox Code Playgroud)

问题是,无论我选择使用哪种方法,结果日期始终是YYYY/MM/DD格式的,这不是我想要的;它们应该是DD/MM/YYYY格式化的。

我尝试:

df$date <- as.Date(df$date, format = "%d/%m/%Y")
df$date <- strptime(df$date, format = "%d/%m/%Y")
df$date <- as.POSIXct(df$date, format = "%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

它们都产生相同的格式。

我读过许多类似的 Stack Overflow 帖子以及一些指南,并尝试过获取和设置我的系统区域设置(英国)之类的事情,在这方面一切都是正确的。

我哪里错了?

jdo*_*res 6

我尝试:

df$date <- as.Date(df$date, format = "%d/%m/%Y")
df$date <- strptime(df$date, format = "%d/%m/%Y")
df$date <- as.POSIXct(df$date, format = "%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

它们都产生相同的格式。

R 有两个命名非常相似的函数:strptime,将字符串转换为日期数据;以及strftime,将日期转换为格式化字符串。更糟糕的是,这两个函数的文档是合并在一起的,因此很难保持它们的用途。strftime在这种情况下,你想要。

  • 我添加了 op 中的引用,因为在第一次阅读时,我认为它并没有真正回答问题。 (2认同)