날짜 열에 dd mmm'yy (예 : 26 Jun'17)가 있습니다.이 날짜는 Ruby를 사용하여 만료되었는지 확인해야합니다. 어떻게 할 수 있습니까?날짜가 만료/통과되었는지 확인하는 방법은 무엇입니까?
감사합니다!
날짜 열에 dd mmm'yy (예 : 26 Jun'17)가 있습니다.이 날짜는 Ruby를 사용하여 만료되었는지 확인해야합니다. 어떻게 할 수 있습니까?날짜가 만료/통과되었는지 확인하는 방법은 무엇입니까?
감사합니다!
d = "26 Jun'17"
#⇒ "26 Jun'17"
▶ Date.today >= Date.parse(d.tr("'", ' '))
#⇒ false
Date#parse
는 "6월 26일 17"이해 :
▶ Date.parse d.tr("'", ' ')
#⇒ #<Date: 2017-06-26 ((2457931j,0s,0n),+0s,2299161j)>
2016 년 또는 2017 년에 '16 Jun 17 '입니까? 이런 이유로 두 자리 연도가 터무니 없습니다. 1980 년대와 1990 년대에는 비 충돌 숫자의 사치가 있었지만 2032 년까지는 우리가 다시 그 궤도를 돌고 있습니다. – tadman
@tadman 글쎄, 전체 레일 거상 _conventions_의 지하에 지어졌습니다. 결국'01/02/2016'은 같은 모호성을 가지고 있습니다. 'DateTime'은''June Jun YY''를''June, day XX, century century YY ''로 취급하고 있습니다. – mudasobwa
@ tadman 1 년 동안 숫자를 사용하고, 몇 달 동안 로마자를 써야하며, '6 월 17 일 MMXVI'를 사용해야합니다. – mudasobwa
는 날짜 객체로 변환 한 후 다른 날짜 시간 개체를 비교?
time_one = DateTime.new(2001,2,3)
time_two = DateTime.new(2001,1,3)
time_one > time_two
당신은 당신의 날짜 문자열을 구문 분석 루비의 표준 라이브러리에서 Date
모듈을 사용하고 <=>
를 사용하여 비교할 수 있습니다. 당신이 "순수"루비 환경에서 (안 레일 콘솔) 작업하는 경우 그런데
, 당신은 당신의 코드에 포함해야 할 것 :
require 'date'
Date.parse("26 Jun'17") > Date.today # => true
의
가능한 복제 [루비 구문 분석 날짜 문자열] (http://stackoverflow.com/questions/21391953/ruby-parse-date-string) –
나는 야생의 많은 데이터 형식을 보았지만 그 중 하나는 정말로 난처하게 어색하다. – tadman
나는 그 질문이 닫혀 있기 때문에 지명 된 표본과 중복되는 것을 표시하고 싶지 않습니다. 나는이 질문이 불분명하다고 생각한다. 날짜 문자열을 파싱하거나 날짜가 만료되었는지 또는 둘 다 확인하는 데 도움이 필요합니까? 만료되었는지 확인하는 데 도움이 필요한 경우 "만료되었습니다"는 의미는 무엇입니까? 날짜가 일정한 날짜보다 오래되었는지 알 필요가 있다는 것을 의미합니까? 또는 그것은 오늘날보다 훨씬 더 오래된 시대입니까? –