【问题标题】:strptime( ) function in [R] to manipulate date/time class[R] 中的 strptime( ) 函数用于操作日期/时间类
【发布时间】:2024-01-18 18:09:01
【问题描述】:

所以我正在使用一个简单的数据集来绘制日期 x 频率

日期以人类可读的格式给出

> head(gb.day)
[1] Sep 12, 2011 11:59 PM Sep 12, 2011 11:59 PM Sep 12, 2011 11:58 PM
[4] Sep 12, 2011 11:56 PM Sep 12, 2011 11:55 PM Sep 12, 2011 11:55 PM
644 Levels: Sep 12, 2011 01:09 PM Sep 12, 2011 01:10 PM ... Sep 12, 2011 11:59 PM

并被视为一个因素。

我正在尝试通过 [R] 中的 strptime( ) 函数将其转换为日期,但遇到了问题

> strptime(gb.day,"%b %d %Y %l %p")

我认为参数正确,但返回的是 NA 我的参数是否正确?

有没有其他建议来完成这个简单的麻烦

【问题讨论】:

  • OP 在这里,刚刚意识到这可能是由于数据中的逗号
  • 解决了我自己的问题。必须删除逗号,时间参数不是正确的。应该是 as.Date(gbday.no.commas,format="%b %d %Y %R %p")

标签: r time-series


【解决方案1】:

您也可以添加strptime()格式的逗号:

R> var <- "Sep 12, 2011 11:59 PM"
R> strptime(var, "%b %d, %Y %I:%M %p")
[1] "2011-09-12 23:59:00"
R> 

除此之外,您的问题可能与因子编码的使用有关。也试试

R> strptime( as.character(gb.day) ,"%b %d, %Y %I:%M %p")

最后,您可能无意中交换了“1”(数字一)或“I”(大写 i)。

【讨论】:

    【解决方案2】:
    from datetime import datetime
    
    start_time = datetime.strptime(datetime.now(), "%Y-%m-%d %H:%M:%S")
    

    【讨论】:

      最近更新 更多