2016-10-17 1 views
0

으로 변환합니다. MacOS를 사용하고 있습니다.'09:12 AM - Mon Oct-10-2016` 형식의 문자열을

"09:12 AM - Mon Oct-10-2016" 

나는 그런 형식을 생성하는 시도 : 나는 아래와 같은 날짜 문자열을 구문 분석하는 어려움이

Sys.setlocale("LC_TIME", 'en_US.UTF-8') # set locale to EN 
f <- "%I:%M %p - %a %b-%m-%Y"    # define format 
z <- format(Sys.time(), format=f)   # get example 
z 
> "09:12 AM - Mon Oct-10-2016" 

하고 구문 분석,하지만 작동하지 않습니다.

> strftime(z, format = f) 
Error in as.POSIXlt.character(x, tz = tz) : 
    character string is not in a standard unambiguous format 
> strptime(z, format = f) 
[1] NA 

어떻게 설명 된 형식으로 문자열을 구문 분석 할 수 있습니까?

+0

당신이 하나를 시도? : 도서관 (언제든지) : anydate ("09:12 AM - 월 Oct-10-2016") – MFR

+0

@MFR'anydate ("09:12 AM - 월 Oct-10-2016") [1] NA' –

답변

3
Sys.setlocale("LC_TIME", 'C') 
f <- "%I:%M %p - %a %b-%d-%Y" 
strptime("09:12 AM - Mon Oct-10-2016", format = f, tz = "GMT") 
#[1] "2016-10-10 09:12:00 GMT" 

10 달하지만 일이 아니다.

1

또한 'lubridate'을 시도 할 수 있습니다 :

require(lubridate) 
> parse_date_time("09:12 AM - Mon Oct-10-2016", "HMmdY") 
[1] "2016-10-10 09:12:00 UTC" 
+0

와우,'parse_date_time'은 필요한 정보를 확인하고 나머지를 버리는 것이 현명 해 보입니다. –

+0

실제로 나는 09:12 AM - Oct Oct-10-2016 (일부 텍스트 정보는 여기에 있습니다.)과 같은 더러운 데이터를 가지고 있습니다. "' . 놀랄 만한. 'parse_date_time'도이 문제를 처리하고 제 경우에는 쓸모없는 청소 단계를 만듭니다. –

+0

AM/PM 형식의 경우, ""HMmdY "'대신에" "IMpmdY" "이어야합니다. –

관련 문제