2012-07-08 2 views
0

저는 현재 레일즈 프로젝트에서 작업 중이며 문자열로 DateTime 객체를 만들어야합니다. 현재레일 날짜 시간 문자열에서 -> 잘못된 날짜

I 다음 코드를 가지고

datetime = DateTime.strptime(items[0] << 'T' << items[1], '%d.%m.%YT%H:%M:%S') 

항목에 의해 생성 된 문자열 [0] < < 'T'< < 항목 [1]은, 예를 들면 25.01.2012T18 : 25 : 47

하지만 정확한 것 같다 레일 서버 콘솔에 문자열을 출력하면 나는 다음과 같은 오류 메시지가 "잘못된 날짜"

를 얻을 내가 바꿀 경우 "항목 [0] < < 'T'< < 아이템 [1] "은 (는) 유효한 문자열이 strptime 메소드 (예 : 25.01.2012T18 : 25 : 47) 작동하지만 Concatinated 문자열을 사용하면 왜 DateTime 객체로의 변환이 실패하는지 알 수 없습니다 ...

아이디어가 있습니까?

안부

+1

정상적으로 작동해야하며, 우리에게 보이지 않는 것을 어떻게 처리할까요? 그리고'items [0]'을 수정하고 있다는 것을 알고 있습니까? 'items [0] + 'T'+ items [1]'또는''{{items [0]} T # {items [1]} ''를 사용하는 것이 더 나을 것입니다. –

+0

나는 당신의 제안을 모두 시도했으나 그들 중 누구도 일하지 않았다. (나는 그 밖의 흥미로운 점은 아무것도 없다고 생각한다.) 나는 업로드 된 CSV 파일을 읽고 줄 단위로 파싱했다. 결과를 strptime 메서드에 넣으십시오. –

+0

Naaaa 생각해 봅니다. 바보 같은 ... CSV 파일의 첫 번째 줄은 일종의 헤드 라인이며 strptime으로 구문 분석 할 수있는 데이터가 없습니다.) 그러나 감사합니다. 어쨌든 당신의 노력! –

답변

0

당신은 시도 할 수 있습니다 (항목 [0] < < 'T'< < 항목 [1]). to_datetime을. DateTime 형식의 객체를 제공합니다.