programing tip

'mm / dd / yyyy'형식에서 루비 DateTime 구문 분석

itbloger 2020. 11. 20. 08:41
반응형

'mm / dd / yyyy'형식에서 루비 DateTime 구문 분석


사용 중이며 ' '날짜 문자열 에서 개체 ruby 1.9.3를 얻고 싶습니다.Date or Timemm/dd/yyyyformat

Time.zone.parse("12/22/2011")

이것은 나에게 준다 *** ArgumentError Exception: argument out of range


require 'Date'
my_date = Date.strptime("12/22/2011", "%m/%d/%Y")

위와 같이 strptime 메서드를 사용하지만 아래의 차이점에 유의하십시오.

Date.strptime("12/22/2011", "%m/%d/%Y") => Thu, 22 Dec 2011
DateTime.strptime("12/22/2011", "%m/%d/%Y") => Thu, 22 Dec 2011 00:00:00 +0000
Time.strptime("12/22/2011", "%m/%d/%Y") => 2011-12-22 00:00:00 +0000 

(+0000은 시간대 정보이고 저는 현재 GMT에 있으므로 +0000입니다. 지난주 시계가 돌아 가기 전에 저는 BST +0100에있었습니다. 내 application.rb에는 config.time_zone = 'London ')


시험 Time.strptime("12/22/2011", "%m/%d/%Y")


Time.strptime("01/28/2012", "%m/%d/%Y")Time.parse 대신 사용할 수있는 옵션 입니까? 이렇게하면 Ruby가 날짜를 구문 분석하는 방법을 더 잘 제어 할 수 있습니다.

보석이 없다면 : (예 : ruby-american_date) Ruby 1.9 Time.parse가 Ruby 1.8.7처럼 동작하도록 만들지 만, 꼭 필요한 경우에만 사용하세요.

1.9.3-p0 :002 > Time.parse '01/28/2012'
ArgumentError: argument out of range

1.9.3-p0 :003 > require 'american_date'
1.9.3-p0 :004 > Time.parse '01/28/2012'
 => 2012-01-28 00:00:00 +0000 

참고 URL : https://stackoverflow.com/questions/19643444/ruby-datetime-parsing-from-mm-dd-yyyy-format

반응형