Ruby gem "Chronic" を使用して、4 桁の文字列を DateTime オブジェクトとして解析しています。ドキュメントから有効な形式であると思われる軍事形式(つまり、「0800」)で時間を使用しています。
ほとんどの場合、Chronic はこの形式の時刻を正しく解析しますが、「12」で始まる 4 桁の文字列は常に翌日の午前 00:XX として解析し、当日の午後 12:XX として解析することはありません。
例えば:
>> Chronic.parse("1234")
=> Thu Sep 17 00:34:00 -0600 2009
時間と分の間にコロンを入れると、目的の出力が得られることがわかります。
>> Chronic.parse("12:34")
=> Wed Sep 16 12:34:00 -0600 2009
ただし、次のように、コロンなしで値を渡したいと考えています。
>> Chronic.parse("1234")
=> Wed Sep 16 12:34:00 -0600 2009
Chronic が「1234」を当日の午後 12 時 34 分として解釈するには、どの文字列をパーサーに渡す必要がありますか?