年を持たない航空会社の予約システム(Sabre / Galileo / AmadeusなどのGDS)からの日付を変換するためのコンパクトなソリューションを探しています。6月23日を標準の日付にしますが、Rubyで取り組むには年をすばやく決定する必要があります。(FYI-これらのシステムの日付は、今日から最大355日までです。したがって、今日が2012年5月12日であると仮定すると、2012年5月12日ではなく2013年5月12日として12MAYを解釈することにあいまいさはありません)。今日が2012年12月25日で、日付が01JANと入力された場合、これは将来の01JAN2013になり、今日が21JUL 2012の場合、01JANの入力日も今年の過去の日付であるため01JAN2013になります。
だから私は次のようなことをすることができます:
t = DateTime.now
crsdate = DateTime.strptime("23JAN","%d%b")
if crsdate >= t
# Year is current year
else
# Year is next year
end
これを行うためのよりエレガントな方法はありますか?