2012-02-08 6 views
1

아무도이 문제가 발생하지 않았다는 것을 믿기가 힘들지만 한 시간 동안 인터넷 검색을 수행했습니다. 매우 단순한 시간 Ruby 1.9는 잘못된 날짜를 파싱하는 것으로 보입니다.Time.local이 잘못된 날짜를 파싱합니다.

ruby-1.9.2-p290 pcp070211pcs:profile delwateo$ irb 
ruby-1.9.2-p290 :001 > Time.local(2011, 2, 31)  
=> 2011-03-03 00:00:00 -0500 

시간이 조금 지나면 예외가 발생하지 않아야합니다. 누군가가 이것에 올바른 방향으로 나를 가리킬 수 있습니까?

답변

0

이것은 Ruby의 버그처럼 보입니다 (1.8에서도 발생 함). 당신은 단지 시간없이 Date 객체를 필요로하는 경우 대신 Date.civil를 사용할 수 있으며 적절하게이 문제를 해결할 수 있습니다 :

Date.civil(2011,2,31) 
# => ArgumentError: invalid date 
+0

그래 우리는뿐만 아니라 1.9.3에서보고있다. 우리는 지금 당장이 문제를 해결할 수있었습니다. 그러나 제 질문은 왜 그럴까요? 보고되지 않은 버그 일 뿐인 것 같습니다. – Orion

+0

그냥 버그 일뿐입니다. 더 이상보고되지 않음 : http://bugs.ruby-lang.org/issues/5988 –

관련 문제