これらは間違った結果のようです-私は何か間違ったことをしていますか?
moment('12:00:00 '、' hh:mm:ss ')。format(' hh:mm:ss '); // "12:00:00"
moment('00:00:00 '、' hh:mm:ss ')。format(' hh:mm:ss '); // "12:00:00"(正しくないようです)
moment('12:30:00 '、' hh:mm:ss ')。format(' hh:mm:ss '); // "12:30:00"
moment('00:30:00 '、' hh:mm:ss ')。format(' hh:mm:ss '); // "12:30:00"(正しくないようです)
24時間制を取得するには、 hh:mm:ss
ではなくHH:mm:ss
を使用する必要があります。
ただし、バグがあるようです。 0時は、12時間制の有効な時間ではありません。 ただし、この状況での望ましい動作はわかりません。 0時ならエラーは出ないようです。
かっこいい、返信ありがとう。 HHの使用に切り替えましたが、少なくともChromeではまだ問題が発生しているようです。
moment('12:00:00 '、' HH:mm:ss ')。format(' HH:mm:ss '); // "00:00:00"(正しくありませんか?)
moment('00:00:00 '、' HH:mm:ss ')。format(' HH:mm:ss '); // "00:00:00"(正しい動作)
デフォルトでは、 HH
とhh
は24時間制で時間を解析します。 12時間で解析するには、「am」または「pm」を追加する必要があります。
元の投稿は正しくありました。 書式設定文字列にa
を追加すると、これを確認できます。
moment('12:00:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:00:00 pm"
moment('00:00:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:00:00 am"
moment('12:30:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:30:00 pm"
moment('00:30:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:30:00 am"
以下の問題は、修正された既知の問題だと思います。 これは#74のコミットが原因で、#92で修正されました。 ただし、ユニットテストを追加しています。 ドキュメントも明確にします。
moment('12:00:00', 'HH:mm:ss').format('HH:mm:ss'); // "00:00:00"
1.2.0を使用している場合は、バグ修正が導入されたときの1.3.0にアップグレードする必要があります。
かっこいい、いいですね。 ありがとう!
最も参考になるコメント
24時間制を取得するには、
hh:mm:ss
ではなくHH:mm:ss
を使用する必要があります。ただし、バグがあるようです。 0時は、12時間制の有効な時間ではありません。 ただし、この状況での望ましい動作はわかりません。 0時ならエラーは出ないようです。