Moment: 00:00:00 tidak boleh sama dengan 12:00:00 saat diurai dengan format h:m:s

Dibuat pada 6 Jan 2012  ·  4Komentar  ·  Sumber: moment/moment

Ini sepertinya hasil yang salah - apakah saya melakukan sesuatu yang salah?

moment('12:00:00', 'hh:mm:dd').format('hh:mm:dd'); // "12:00:00"
moment('00:00:00', 'hh:mm:dd').format('hh:mm:dd'); // "12:00:00" (sepertinya salah)

moment('12:30:00', 'hh:mm:dd').format('hh:mm:dd'); // "12:30:00"
moment('00:30:00', 'hh:mm:dd').format('hh:mm:dd'); // "12:30:00" (tampaknya salah)

Komentar yang paling membantu

Anda harus menggunakan HH:mm:ss alih-alih hh:mm:ss untuk mendapatkan jam 24 jam.

Namun, sepertinya ada bug. 0 jam bukanlah jam yang valid dalam 12 jam. Saya tidak yakin apa perilaku yang diinginkan dalam situasi ini. Sepertinya Anda tidak akan mendapatkan kesalahan jika jam 0.

Semua 4 komentar

Anda harus menggunakan HH:mm:ss alih-alih hh:mm:ss untuk mendapatkan jam 24 jam.

Namun, sepertinya ada bug. 0 jam bukanlah jam yang valid dalam 12 jam. Saya tidak yakin apa perilaku yang diinginkan dalam situasi ini. Sepertinya Anda tidak akan mendapatkan kesalahan jika jam 0.

Keren, terima kasih atas jawabannya. Saya beralih menggunakan HH tetapi tampaknya masih mendapatkan masalah, setidaknya dengan Chrome:

moment('12:00:00', 'JJ:mm:dd').format('HH:mm:dd'); // "00:00:00" (salah?)
moment('00:00:00', 'JH:mm:dd').format('HH:mm:dd'); // "00:00:00" (perilaku yang benar)

Secara default, HH dan hh mengurai jam dalam waktu 24 jam. Untuk mengurai dalam waktu 12 jam, Anda perlu menambahkan 'am' atau 'pm'.

Posting asli telah dilakukan dengan benar. Anda dapat melihat ini jika Anda menambahkan a ke string pemformatan.

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"

Saya yakin masalah di bawah ini adalah masalah umum yang telah diperbaiki. Itu disebabkan oleh komit di #74 dan diperbaiki di #92. Saya menambahkan tes unit untuk itu. Saya juga akan mengklarifikasi dokumen.

moment('12:00:00', 'HH:mm:ss').format('HH:mm:ss'); // "00:00:00"

Jika Anda menggunakan 1.2.0, Anda harus meningkatkan ke 1.3.0, karena saat itulah perbaikan bug diperkenalkan.

Keren, kedengarannya bagus. Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat