0

我想计算格式如下的数据框的两个日期之间的持续时间:

Start_date_time
22-JAN-16 04.56.14.325000000 PM

End_date_time
23-JAN-16 05.56.14.325000000 AM

我运行以下命令:

jm16$diff <- difftime(strptime(jm16$Start_date_time, format = "%d-%b-%Y %H.%M.%S"), 
                      strptime(jm16$End_date_time, format = "%d-%b-%Y %H.%M%S"),
                      units="mins")

但是,最终 jm16$diff 的整个字段都是“NA”。有人请帮忙告诉我哪里出错了吗?

谢谢

4

1 回答 1

0

您需要使用的公式是:

jm16$diff <- difftime(strptime(jm16$End_date_time, format="%d-%b-%Y %I:%M.%OS %p"), 
                      strptime(jm16$Start_date_time, format="%d-%b-%Y %I:%M.%OS %p"), 
                      units="mins")

这更正了以下问题:

  1. difftime()接受difftime(end_time, start_time),而不是相反
  2. %I处理 1-12 的时间,而不是%H处理 0-23
  3. 小时后跟字符串中的冒号,而不是点
  4. 秒有一个小数部分%OS,而不是%S
  5. A" %p"在最后采取在上午/下午
于 2016-04-19T09:53:59.693 回答