【问题标题】:Change Date print format from yyyy-mm-dd to dd-mm-yyyy将日期打印格式从 yyyy-mm-dd 更改为 dd-mm-yyyy
【发布时间】:2013-01-03 22:29:05
【问题描述】:

我正在尝试将日期格式从 yyyy-mm-dd 转换为 dd-mm-yyyy 格式。例如:

D <- "06.12.2012"  
D <- as.Date(D, "%d.%m.%Y")
D
# [1] "2012-12-06"

如何将其转换为“06-12-2012”?

【问题讨论】:

    标签: r date


    【解决方案1】:

    a) 解析

       d <- as.Date( "06.12.2012", "%d.%m.%Y")
    

    b) 格式

       strftime(d, "%m-%d-%Y")
    

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

    【讨论】:

    • 是的,但被叫去开会。可怕的生活有时会干扰 SO :)
    【解决方案2】:

    严格来说,你不能。 Date 是一个整数(自 1970-01-01 以来的天数),打印时看起来像一个字符串。 Date 对象的打印格式为 YYYY-MM-DD,因为这是 ISO-8601 标准。

    正如聊天中提到的@GSee,您必须重新定义print.Date 方法,例如:

    print.Date <- function(x, max=NULL, ...) {
      if (is.null(max)) 
        max <- getOption("max.print", 9999L)
      if (max < length(x)) {
        print(format(x[seq_len(max)], "%d-%m-%Y"), max = max, ...)
        cat(" [ reached getOption(\"max.print\") -- omitted", 
          length(x) - max, "entries ]\n")
      }
      else print(format(x, "%d-%m-%Y"), max = max, ...)
      invisible(x)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2021-08-05
      • 1970-01-01
      相关资源
      最近更新 更多