Kelakuan dan format lajur tarikh dan masa

Dalam Microsoft Dataverse, anda boleh menentukan cara nilai tarikh dan masa ditunjukkan kepada pengguna dan cara ia diselaraskan untuk zon masa.

Dua opsyen tersedia untuk lajur tarikh dan masa.

  • Kelakuan: Sama ada untuk melaraskan nilai untuk zon masa.
  • Format: Sama ada untuk memaparkan bahagian masa nilai.

Tingkah Laku

Dataverse menyimpan semua nilai tarikh dan masa dalam zon waktu UTC. Apabila apl anda memaparkan nilai atau nilai pemprosesan yang dimasukkan oleh pengguna Dataverse dan aplikasi dipacu model boleh dilaraskan untuk zon waktu pengguna dengan opsyen Kelakuan ini .

  • Setempat pengguna: Laraskan nilai untuk zon waktu pengguna. Ini ialah tingkah laku lazim. Anda boleh mengubahnya sekali kepada tingkah laku lain.
  • Zon waktu bebas: Tiada penukaran zon waktu.
  • Tarikh sahaja: Tiada penukaran zon waktu. Tidak seperti zon waktu bebas, bahagian masa tidak disimpan.

Zon waktu pengguna ditetapkan dalam pilihan peribadi, bukan zon waktu sistem dalam Windows, Android, iOS, atau macOS. Walau bagaimanapun, zon waktu sistem mungkin menjejaskan skrip klien yang berfungsi dengan Tarikh JavaScript.

Format

Semua lajur tarikh dan masa mempunyai bahagian masa melainkan tingkah lakunya ialah Date Only. Format menentukan sama ada untuk memaparkan bahagian masa nilai.

  • Tarikh dan masa: Memaparkan tarikh dan masa nilai.
  • Tarikh sahaja: Memaparkan bahagian tarikh bagi nilai sahaja.

Nota

Pengguna masih boleh mengubah bahagian masa jika Format adalah Tarikh Sahaja. Contohnya, dengan panggilan API Web atau menggunakan kawalan yang mempunyai bahagian masa. Ini berbeza daripada Kelakuan Tarikh sahaja, di mana bahagian masa tidak disimpan sama sekali.

Garis panduan penggunaan

Gunakan tingkah laku bebas zon waktu apabila maklumat zon waktu tidak diperlukan, seperti masa daftar masuk hotel. Dengan pemilihan ini, pengguna dalam semua zon masa melihat nilai tarikh dan masa yang sama.

Gunakan tingkah laku Tarikh sahaja apabila maklumat tentang masa hari dan zon waktu tidak diperlukan, seperti hari lahir atau ulang tahun. Dengan pemilihan ini, pengguna dalam semua zon masa melihat nilai tarikh yang sama.

Tingkah laku bebas zon waktu dengan format Tarikh sahaja boleh dikatakan sama dengan tingkah laku Tarikh sahaja . Gunakan bekas jika anda tidak pasti sama ada anda memerlukan bahagian masa pada masa hadapan.

Penting

Elakkan format Tarikh sahaja dengan Kelakuan setempat pengguna. Pengguna dalam zon waktu yang berbeza mungkin melihat tarikh yang berbeza, yang tidak dimaksudkan dalam kebanyakan senario. Apabila pengguna menetapkan tarikh dalam apl berpandukan model, bahagian masa akan ditetapkan secara automatik kepada tengah malam zon waktu mereka. Ini mungkin menyebabkan tarikh muncul sehari lebih awal atau lebih baru untuk pengguna lain.

Contoh

Paparkan nilai

Dataverse menyimpan 2023-10-15T07:30:00Z (atau 2023-10-15 untuk tingkah laku Tarikh sahaja). Pengguna dalam zon waktu UTC-8 melihat ini dalam aplikasi berpandukan model atau dengan permintaan API Web untuk nilai yang diformatkan:

Tingkah Laku Format Nilai paparan
Tempatan pengguna Tarikh dan masa Oktober 14th, 2023, 11: 30 pm
Tempatan pengguna Tarikh sahaja Oktober 14th, 2023
Bebas zon waktu Tarikh dan masa Oktober 15th, 2023, 7:30 am
Bebas zon waktu Tarikh sahaja Oktober 15th, 2023
Tarikh sahaja - Oktober 15th, 2023

Masukkan nilai dalam aplikasi

Pengguna dalam zon waktu UTC-8 masukkan October 14th, 2023, 11:30 pm dalam aplikasi berpandukan model. Nilai disimpan sebagai Dataverse :

Tingkah Laku Format Nilai yang disimpan dalam Dataverse
Tempatan pengguna Tarikh dan masa 2023-10-15T07:30:00Z
Tempatan pengguna Tarikh sahaja 2023-10-15T07:30:00Z
Bebas zon waktu Tarikh dan masa 2023-10-14T23:30:00Z
Bebas zon waktu Tarikh sahaja 2023-10-14T23:30:00Z
Tarikh sahaja - 2023-10-14

Jika pengguna memasukkan tarikh October 14th, 2023 sahaja, bahagian masa dianggap sebagai 12:00 AM.

Tingkah Laku Format Nilai yang disimpan dalam Dataverse
Tempatan pengguna Tarikh sahaja 2023-10-14T08:00:00Z
Bebas zon waktu Tarikh sahaja 2023-10-14T00:00:00Z
Tarikh sahaja - 2023-10-14

Masukkan nilai tidak sah dalam aplikasi

Pelanggan yang berbeza mempunyai cara yang berbeza untuk mengendalikan input tidak sah. Sebagai contoh, di zon waktu Pasifik, penjimatan siang bermula pada 12 Mac 2023 pada 2:00 AM, menggerakkan masa ke hadapan satu jam hingga 3:00 pagi. Masa antara 2:00 AM dan 3:00 pada hari itu tidak wujud. Apabila pengguna cuba memasukkan nilai dalam julat masa tersebut, apl mungkin melakukan salah satu perkara berikut:

  • Tukar kepada masa sah sebelum atau seterusnya.
  • Kembali kepada nilai terakhir yang diketahui.
  • Tunjukkan mesej ralat.
  • Jangan tunjukkan masa antara 2:00 AM dan 3:00 AM dalam pemilih masa, supaya pengguna tidak boleh memilih mereka terlebih dahulu.

Begitu juga, pelanggan yang berbeza mempunyai cara yang berbeza untuk mengendalikan julat masa berulang. Sebagai contoh, di zon waktu Pasifik, penjimatan siang berakhir pada 5 November 2023 pada 2:00 AM, menggerakkan masa ke belakang satu jam hingga 1:00 pagi. Masa antara 1:00 AM dan 2:00 AM pada hari itu diulang dua kali. Masa seperti 1:30 AM boleh merujuk kepada mana-mana zon waktu. Sekiranya anda perlu menunjukkan atau memasukkan masa dalam julat tersebut dengan jelas, sebaiknya beralih ke zon waktu yang tidak menggunakan penjimatan siang hari buat sementara waktu.

Dapatkan nilai mentah dengan API Web

Dataverse menyimpan 2023-10-15T07:30:00Z (atau 2023-10-15 untuk tingkah laku Tarikh sahaja). Pengguna dalam semua zon masa mendapatkan ini dengan permintaan API Web untuk nilai:

Tingkah Laku Format Nilai mentah
Tempatan pengguna Tarikh dan masa 2023-10-15T07:30:00Z
Tempatan pengguna Tarikh sahaja 2023-10-15T07:30:00Z
Bebas zon waktu Tarikh dan masa 2023-10-15T07:30:00Z
Bebas zon waktu Tarikh sahaja 2023-10-15T07:30:00Z
Tarikh sahaja - 2023-10-15

Dapatkan nilai dengan API Pelanggan

Pengguna dalam zon waktu UTC-8 masukkan October 14th, 2023, 11:30 pm dalam aplikasi berpandukan model. Fungsi API pelanggan seperti formContext.getAttribute(<column name>).getValue() mengembalikan nilai dengan pelarasan zon masa digunakan:

Tingkah Laku Format Javascript dateValue.toUTCString()
Tempatan pengguna Tarikh dan masa 2023-10-15 07:30 (UTC)
Tempatan pengguna Tarikh sahaja 2023-10-15 07:30 (UTC)

Untuk kelakuan bebas zon waktu, nilai Tarikh JavaScript berada dalam zon waktu pelayar:

Tingkah Laku Format Javascript dateValue.toString()
Bebas zon waktu Tarikh dan masa 2023-10-14 23:30 (zon waktu pelayar)
Bebas zon waktu Tarikh sahaja 2023-10-14 23:30 (zon waktu pelayar)

Nilai tarikh JavaScript sentiasa mempunyai komponen masa. Itulah sebabnya Kelakuan tarikh sahaja mempunyai komponen masa 12:00 AM:

Tingkah Laku Format Javascript dateValue.toString()
Tarikh sahaja - 2023-10-15 00:00 (zon waktu pelayar)

Nota

Nilai tarikh JavaScript dipengaruhi oleh zon waktu pelayar, yang berasal dari tetapan sistem pengendalian peranti.

Untuk tingkah laku setempat Pengguna, hasil API Pelanggan harus ditafsirkan sebagai nilai UTC. Gunakan Date.getUTCDate(), Date.getUTCHours() dan lain-lain untuk bekerja dengannya. Untuk mendapatkan apa yang dilihat oleh pengguna, gunakan getTimeZoneOffsetMinutes. Jangan gunakan Date.getDate(), Date.getHours() dan lain-lain kerana ini akan menunjukkan nilai dalam zon waktu penyemak imbas.

Untuk tingkah laku bebas zon masa dan Tarikh sahaja, hasil API Pelanggan harus ditafsirkan sebagai nilai dalam zon waktu pelayar. Gunakan Date.getDate(), Date.getHours() dan lain-lain untuk bekerja dengannya. Jangan gunakan Date.getUTCDate(), Date.getUTCHours() dan sebagainya kerana anda tidak perlu menyesuaikan diri untuk sebarang zon waktu.

Mengubah kelakuan setempat pengguna

Melainkan penerbit penyelesaian terurus menghalangnya, anda boleh mengubah kelakuan lajur tarikh tersuai sedia ada daripada Pengguna setempat kepada Tarikh sahaja atau Zon masa bebas. Ini adalah perubahan sekali sahaja.

Mengubah tingkah laku lajur mempengaruhi nilai lajur yang ditambah atau diubah suai selepas tingkah laku lajur tersebut ditukar. Nilai lajur yang sedia ada kekal dalam pangkalan data dalam format zon waktu UTC. Untuk mengubah kelakuan nilai lajur sedia ada daripada UTC kepada Tarikh sahaja, anda mungkin memerlukan bantuan pembangun untuk menukar kelakuan nilai tarikh dan masa sedia ada dalam pangkalan data.

Amaran

Sebelum mengubah tingkah laku lajur tarikh dan masa sedia ada, anda perlu menyemak semua kebergantungan lajur, seperti peraturan perniagaan, aliran kerja, lajur yang dikira atau lajur gulung atas, untuk memastikan tiada isu disebabkan oleh perubahan tingkah laku. Selepas mengubah kelakuan lajur tarikh dan masa, buka setiap peraturan perniagaan, aliran kerja, lajur terhitung dan lajur gulung bergantung pada lajur yang anda ubah, semak semula maklumat dan simpannya untuk memastikan kelakuan dan nilai lajur tarikh dan masa terkini digunakan.

Ubah tingkah laku semasa import penyelesaian

Apabila anda mengimport penyelesaian yang mengandungi lajur Tarikh dengan kelakuan setempat Pengguna, anda boleh mengubah kelakuan kepada Tarikh sahaja atau Zon masa bebas.

Nota

Anda hanya boleh mengubah kelakuan lajur Tarikh terurus sahaja atau Tarikh dan masa sedia ada jika anda merupakan penerbit. Untuk membuat perubahan pada medan ini, naik taraf mesti dibuat kepada penyelesaian yang menambah lajur Tarikh sahaja atau Tarikh dan masa . Maklumat lanjut: Naik taraf atau kemaskinikan penyelesaian

Cegah daripada mengubah tingkah laku

Jika anda mengedarkan lajur tarikh tersuai dalam penyelesaian terurus, halang individu yang menggunakan penyelesaian anda daripada mengubah kelakuan dengan mengesetkan sifat terurus CanChangeDateTimeBehavior kepada False. Maklumat lanjut: Tetapkan sifat terurus untuk lajur

Operator pertanyaan tarikh dan masa tidak disokong untuk kelakuan Tarikh sahaja

Operator pertanyaan berkaitan tarikh dan masa berikut tidak sah untuk kelakuan Tarikh sahaja . Ralat pengecualian pengendali tidak sah berlaku apabila satu daripada pengendali ini digunakan dalam pertanyaan.

  • Lebih Lama Daripada X Minit
  • Lebih Lama Daripada X Jam
  • X Jam Terakhir
  • X Jam Berikutnya

Lihat juga

Menyelesaikan masalah isu tarikh dan masa dalam apl berpandukan model
Mencipta dan mengedit lajur
Mentakrifkan lajur terhitung untuk mengautomatikkan pengiraan manual
Sifat terurus lajur
Hartanah terurus
Blog: Bekerja dengan zon masa di Dataverse
Mengkonfigurasikan kelakuan dan format lajur tarikh dan masa menggunakan kod

Nota

Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)

Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).