如何在 r 中将复杂的字符串 (Mon Apr 06 22:19:45 PDT 2009) 转换为 date/time?
How do I transform a complicated character string (Mon Apr 06 22:19:45 PDT 2009) into a date/time in r?
我想将字符串中的日期 Mon Apr 06 22:19:45 PDT 2009 转换为 POSIXct 日期。
我试过了
dt <- strptime(df$date, "%a %b %d %H%M%S %Y")
和
datee <- parse_date_time(twit$date, "%a %b %d! %H!%M!%S! %Y!")
tand 得到了 NA 或错误消息。
我做错了什么?
谢谢。
我认为您无法转换带有嵌入式时区说明符的日期时间字符串
x2 <- "Mon Apr 06 22:19:45 2009"
strptime(x2,"%a %b %d %H:%M:%S %Y")
## [1] "2009-04-06 22:19:45 EDT"
您可以使用正则表达式提取时区并将其用作 tz
参数:
strptime(x2,"%a %b %d %H:%M:%S %Y",tz="PDT")
## [1] "2009-04-06 22:19:45 PDT"
正如@akrun 所建议的那样,
x3 <- 'Mon Apr 06 22:19:45 PDT 2009'
as.POSIXct(x3, "%a %b %d %H:%M:%S PDT %Y", tz='PDT')
## [1] "2009-04-06 22:19:45 PDT"
或等效
strptime(x3, "%a %b %d %H:%M:%S PDT %Y", tz='PDT')
如果您事先不知道数据将是 PDT,这将需要更多的工作...
我想将字符串中的日期 Mon Apr 06 22:19:45 PDT 2009 转换为 POSIXct 日期。
我试过了
dt <- strptime(df$date, "%a %b %d %H%M%S %Y")
和
datee <- parse_date_time(twit$date, "%a %b %d! %H!%M!%S! %Y!")
tand 得到了 NA 或错误消息。
我做错了什么?
谢谢。
我认为您无法转换带有嵌入式时区说明符的日期时间字符串
x2 <- "Mon Apr 06 22:19:45 2009"
strptime(x2,"%a %b %d %H:%M:%S %Y")
## [1] "2009-04-06 22:19:45 EDT"
您可以使用正则表达式提取时区并将其用作 tz
参数:
strptime(x2,"%a %b %d %H:%M:%S %Y",tz="PDT")
## [1] "2009-04-06 22:19:45 PDT"
正如@akrun 所建议的那样,
x3 <- 'Mon Apr 06 22:19:45 PDT 2009'
as.POSIXct(x3, "%a %b %d %H:%M:%S PDT %Y", tz='PDT')
## [1] "2009-04-06 22:19:45 PDT"
或等效
strptime(x3, "%a %b %d %H:%M:%S PDT %Y", tz='PDT')
如果您事先不知道数据将是 PDT,这将需要更多的工作...