我有一列日期作为character
值读入(是的,它们应该是相同的):
str(df$date)
$ date : chr "30/08/2017" "30/08/2017" "30/08/2017" "30/08/2017"
然后我将值转换为Date
格式:
str(df$date)
$ date : Date, format: "2017-08-30" "2017-08-30" "2017-08-30"
问题是无论我选择使用哪种方法,得到的日期总是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")
它们都产生相同的格式。
我已经阅读了许多类似的 Stack Overflow 帖子以及一些指南,并尝试了获取和设置我的系统区域设置(英国)等方法,在这方面一切都是正确的。
我哪里错了?
我尝试:
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")
它们都产生相同的格式。
R 有两个命名非常相似的函数:strptime
,它将字符串转换为日期数据,以及strftime
,它将日期转换为格式化字符串。更糟糕的是,这两个函数的文档是结合在一起的,因此很难保持它们的直接使用。你想要strftime
,在这种情况下。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句