Runtime: Zona Waktu dan DateTimeOffset

Dibuat pada 27 Nov 2019  ·  1Komentar  ·  Sumber: dotnet/runtime

_Masalah ini telah dipindahkan dari tiket di Komunitas Pengembang ._


Saat ini DateTimeOffset kurang dalam Opsi untuk konversi Zona Waktu dan api windows untuk TimeZoneInfo tidak memiliki dukungan untuk DateTimeOffset

ini menyebabkan harus menulis kode untuk mengonversi offset datetime ke waktu tanggal kemudian menggunakan TimeZoneInfo untuk mengonversi ke Datetime baru dan kemudian kembali ke DateTimeOffset sehingga titik waktu dan zona waktu yang dimaksud dipertahankan.

kumpulan konversi antara format dan panggilan api terkait ini menciptakan kemungkinan kesalahan dalam konversi yang mungkin tidak mudah dikenali jika pengembang tidak sepenuhnya memahami detail zona waktu.

saya pikir serangkaian metode baru atau perpustakaan kelas baru dibuat yang menyatukan TimeZoneInfo dan DateTimeOffset untuk memungkinkan pengembang meminta agar datetimeoffset dikonversi ke zona waktu baru dan tidak perlu masuk ke rantai konversi. ini akan mengurangi kesalahan dan memanfaatkan DateTimeOffset lebih sederhana untuk sebagian besar pengembang


Komentar Asli

Denny Figuerres pada 15/3/2019, 08:16:

juga DateTimeOffset ToLocal menganggap server tanggal waktu / zona waktu yang tidak memberikan opsi apa pun untuk mengonversi ke zona waktu pengguna untuk aplikasi di web, klien mungkin berada di zona waktu yang berbeda dari klien browser.

dan browser mungkin perlu melihat tanggal untuk zona waktu tempat mereka tidak berada.

Jane Wu [MSFT] pada 18/3/2019, 01:36:

Terima kasih telah meluangkan waktu untuk memberikan saran Anda. Kami akan melakukan beberapa pemeriksaan awal untuk memastikan kami dapat melanjutkan lebih jauh. Kami akan memberikan pembaruan setelah masalah diprioritaskan oleh tim produk.

api-needs-work api-suggestion area-System.Runtime

Komentar yang paling membantu

juga DateTimeOffset ToLocal menganggap server tanggal waktu / zona waktu yang tidak memberikan opsi apa pun untuk mengonversi ke zona waktu pengguna untuk aplikasi di web, klien mungkin berada di zona waktu yang berbeda dari klien browser.

dan browser mungkin perlu melihat tanggal untuk zona waktu tempat mereka tidak berada.

Ini. Inilah sebabnya mengapa DateTimeKind rusak. Utc / Local / Unknown (atau Other dalam API serupa) menunjukkan kesalahpahaman tentang domain.

Saya akan tegaskan kembali bahwa kami harus menyediakan API tanggal/waktu pihak pertama yang lengkap, modern, yang akan terlihat mirip dengan Java.time dan NodaTime.
Perhatikan bahwa dalam banyak kasus DateTimeOffset juga bukan jenis domain yang tepat, karena informasi instan non-mutlak biasanya lebih baik dicatat sebagai DateTimeZoned (yang secara otomatis memperbarui offset saat menambahkan setiap saat).

>Semua komentar

juga DateTimeOffset ToLocal menganggap server tanggal waktu / zona waktu yang tidak memberikan opsi apa pun untuk mengonversi ke zona waktu pengguna untuk aplikasi di web, klien mungkin berada di zona waktu yang berbeda dari klien browser.

dan browser mungkin perlu melihat tanggal untuk zona waktu tempat mereka tidak berada.

Ini. Inilah sebabnya mengapa DateTimeKind rusak. Utc / Local / Unknown (atau Other dalam API serupa) menunjukkan kesalahpahaman tentang domain.

Saya akan tegaskan kembali bahwa kami harus menyediakan API tanggal/waktu pihak pertama yang lengkap, modern, yang akan terlihat mirip dengan Java.time dan NodaTime.
Perhatikan bahwa dalam banyak kasus DateTimeOffset juga bukan jenis domain yang tepat, karena informasi instan non-mutlak biasanya lebih baik dicatat sebagai DateTimeZoned (yang secara otomatis memperbarui offset saat menambahkan setiap saat).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat