【问题标题】:Changing date format in R to subtract dates更改 R 中的日期格式以减去日期
【发布时间】:2015-09-08 17:25:08
【问题描述】:

我试图从另一个日期中减去一个日期,然后根据天数写出输出。问题是我拥有的两个日期的格式不同——我试图更改格式,但它不起作用。

df2$Filedate 中,日期格式为%Y-%m-%d,例如2015-01-03。 在包含日期的另一列 df2$Date 中,格式为 %y-%m-%d,例如15-01-01.

因此,如果我可以将 df2$Filedate%Y-%m-%d 转换为 %y-%m-%d,我应该能够减去日期并写入这样的新列:

df2$z <- df2$Filedate - df2$Date

这是我尝试过的。首先,我格式化:

df2$Filedate <- format(df2$Filedate, "%y-%m-%d")

现在的输出看起来是正确的。我再次将这些字符串转换为日期,如下所示:

df2$Filedate <- as.Date(df2$Filedate, "%y-%m-%d")

现在日期再次格式化为%Y-%m-%d

【问题讨论】:

  • 您不能拥有带有缩写年份的“日期”分类对象。一整年有什么问题?
  • 当我减去 df2$Filedate - df2$Date 输出是错误的,所以我假设我需要两个日期具有相同的格式。因此我尝试改变它,所以两者都是 %y-%m-%d 或者都是 %Y-%m-%d。在任何情况下,转换都不起作用。

标签: r date datetime time


【解决方案1】:

我想通了。这是我所做的:

df2$Filedate <-strftime (df2$Filedate,"%d/%m/%Y")
df2$Date <-strftime(strptime (df2$Date,"%d/%m/%y"),"%d/%m/%Y")

df2$Date <- as.Date (df2$Date, "%d/%m/%Y")
df2$Filedate <- as.Date (df2$Filedate, "%d/%m/%Y")

df2$z <- df2$Filedate - df2$Date

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2015-03-03
    • 2011-11-18
    • 2011-11-17
    相关资源
    最近更新 更多