解析字符串到datetime时遇到问题

Bar*_*nka 4 datetime r

我在将字符串解析为datetime时遇到了一些问题.

这就是我正在做的事情

strftime("28/10/2014 09:05:55 p.m.", format='%d/%m/%Y %I:%M:%S %p')
##[1] "20/10/28 12:00:00 "
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这里发生了三件不受欢迎的事情:

  1. 返回的日期不正确!
  2. 时间总是设置为 12:00:00
  3. 返回的值是一个String,而不是一个日期时间(这是无关紧要的...我可以将它转换为日期时间)

所以,具体问题是:如何正确解析此字符串到datetime?

Ben*_*ker 6

(1)尝试strptime代替strftime; 我不确定是什么strftime,但也许不是你的想法.

(2)我认为"pm"根本不会起作用; 你可能需要一些明智的gsub("p.m.","PM",...)使用.

strptime("28/10/2014 09:05:55 PM", format='%d/%m/%Y %I:%M:%S %p')
## [1] "2014-10-28 21:05:55 EDT"
strptime("28/10/2014 09:05:55 p.m.", format='%d/%m/%Y %I:%M:%S %p')
## NA
Run Code Online (Sandbox Code Playgroud)