私はChronicをRailsアプリケーションで数週間使用しています。私はそれに夢中になったことはありません。「1:21 pm」や「1440」などの基本的な時間入力を解析するために使用しています。今日までテストスイートを実行し、失敗。夏時間のシンプルな時刻形式の解析を慢性的に停止
これらすべての作業:
Chronic.parse('1:21am')
=> 2016-10-02 00:21:00 +1000
Chronic.parse('0121')
=> 2016-10-03 01:21:00 +1100
Chronic.parse('0021')
=> 2016-10-03 00:21:00 +1100
Chronic.parse('1:21 AM')
=> 2016-10-02 00:21:00 +1000
しかし12:21 AM
はnilを返す:私のコードでは
Chronic.parse('12:21 AM')
=> nil
をそれがすべてですので、私は実際に日付を取り除くだけの時間を保つためにstrftime
をやっています私は気にする。しかし、それは慢性的にnil
を返すときに当然働きません。面白いのは何
self.time = Chronic.parse(time).try(:strftime, '%l:%M %p')
は今朝夏時間が私のタイムゾーン、シドニーのためで蹴らということです。私はしばらくの間このコードの周りに他のものを変更していないので、私はそれが関連していると推測します。
これは見ましたか? https://github.com/mojombo/chronic/issues/328 –
@AlexandreAngelimああクール、いいえ私はそれを見ていない。私は提案された推測を試みました::解決策を開始しますが、うまくいきませんでした。何がお勧めですか?言及された書き換えPRで解決されるかもしれないように見えます。私はそれを目標にできる。 –
あなたはこれについて私を嫌うつもりですが、Chronicの結果が「無し」で、「明日#{time}」を使用するかどうかをテストできます。その日が実際に存在し、あなたはその日が必要でない日になるでしょう。このようなものは、次のようになります。 "(Chrun.parse(time)|| Chronic.parse(" tomorrow#{time} "))try(:strftime、 '%l:%M%p') –