<p>bug moment().toISOString() , jika Anda lulus pada tanggal 18, ia mengembalikan tanggal 17</p>

Dibuat pada 23 Jul 2013  ·  6Komentar  ·  Sumber: moment/moment

Masalah ini tampaknya disebabkan oleh moment().toISOString() yang diperkenalkan di sini:

http://momentjs.com/docs/#/displaying/as -iso-string/
momen().toISOString();

Saya mungkin tetapi di konsol jika saya melakukannya:

    n = moment.utc(new Date('2013-07-18T00:00:00+01:00'))

Ini akan kembali:

 Thu Jul 18 2013 00:00:00 GMT+0100 (GMT Daylight Time)

Sekarang jika saya memanggil toISOString( ) di atasnya, tanggalnya tiba-tiba menjadi ke-17:

  n.toISOString()

di atas akan mengembalikan tanggal 17 alih-alih 18:

  "2013-07-17T23:00:00.000Z"

Komentar yang paling membantu

Itu mungkin berhasil untuk Anda:

> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSSZZ')
'2013-07-23T14:54:20.176-0700'

Atau

> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSS')
'2013-07-23T14:54:20.176'

Jika Anda tidak peduli dengan zona waktu, dan hanya ingin menampilkan waktu.

Semua 6 komentar

Seperti yang Anda lihat toISOString selalu menampilkan waktu dalam UTC (selain menampilkannya dengan cara tertentu).

@ichernev , saya tidak sepenuhnya mengerti maksud Anda? Apakah menampilkan dengan cara tertentu berarti ketika saya lulus di 17, saya harus mendapatkan 18? Bagaimana saya lulus di 18 dan kembali ke 18? Terima kasih.

Itu mungkin berhasil untuk Anda:

> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSSZZ')
'2013-07-23T14:54:20.176-0700'

Atau

> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSS')
'2013-07-23T14:54:20.176'

Jika Anda tidak peduli dengan zona waktu, dan hanya ingin menampilkan waktu.

@ichernev , terima kasih banyak.

Anda dapat menggunakan parameter keepOffset dari toISOString:

toISOString(keepOffset?: boolean): string;

=>

momen().toISOString(benar)

Apakah ini benar?

moment('1970-01-01').toISOString()

keluaran:

1969-12-31T23:00:00.000Z

Saya pikir kebanyakan orang melewati tanggal tertentu ke saat dan memformatnya sebagai toISOString akan mengharapkan tanggal tidak berubah. Mengapa keepOffset tidak default ke true jika itu membuat fungsi berperilaku dengan cara yang lebih dapat diprediksi?

Saya tahu momen sedang konsisten dengan fungsi JavaScript Date toISOString asli sesuai ES2015 tetapi meskipun demikian ini tidak terasa seperti perilaku yang diharapkan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

vbullinger picture vbullinger  ·  3Komentar

M-Zuber picture M-Zuber  ·  3Komentar

ninigix picture ninigix  ·  3Komentar

dogukankotan picture dogukankotan  ·  3Komentar

Delgan picture Delgan  ·  3Komentar