【问题标题】:Change date from dd-MM-YYYY to yyyy-mm-dd [duplicate]将日期从 dd-MM-YYYY 更改为 yyyy-mm-dd [重复]
【发布时间】:2019-05-20 11:41:01
【问题描述】:

我的数据框看起来像这样

    co_stkdate returns
1:1  03-Apr-95   1.685
1:2  04-Apr-95   1.529
1:3  05-Apr-95 

我想把它转换成

     co_stkdate returns
1:1  03-04-1995   1.685
1:2  04-04-1995   1.529
1:3  05-04-1995 

我试过了

myfiles$co_stkdate

但这给了我这样的结果

co_stkdate returns
1:1       <NA>   1.685
1:2       <NA>   1.529
1:3       <NA>   1.338
1:4       <NA>  -0.236
1:5       <NA>  -0.250
1:6       <NA>   0.053
>

【问题讨论】:

  • 我知道了。需要使用 %B 而不是 %M。
  • library(lubridate) 然后dmy("03-Apr-95")
  • %B 有效,但它实际上是完整的月份名称。对于缩写,您应该使用%b

标签: r dplyr


【解决方案1】:

这应该可以将您的日期更改为适合 R 的日期格式

dates <- c("03-Apr-95", "04-Apr-95")

newFormat <- as.Date(dates, tryFormats = c("%d-%b-%y"))

[1] "1995-04-03" "1995-04-04"

然后用通常的方式格式化

format(newFormat, "%d-%m-%Y")

[1] "03-04-1995" "04-04-1995"

【讨论】:

    【解决方案2】:
    co_stkdate <- c("03-Apr-95", "04-Apr-95", "05-Apr-95")
    
    format(x = as.Date(x = co_stkdate,
                       format = "%d-%b-%y"),
           format = "%d-%m-%Y")
    #> [1] "03-04-1995" "04-04-1995" "05-04-1995"
    

    reprex package (v0.3.0) 于 2019 年 5 月 20 日创建

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      相关资源
      最近更新 更多