Kongsi melalui


DateAdd, DateDiff, dan TimeZoneOffset fungsi

Fungsi Terpakai kepada
DateAdd
DateDiff
Apl kanvas Copilot Studio Desktop mengalir lajur formula Dataverse Apl dipacu model Power Platform CLI Fungsi Dataverse Halaman Kuasa
TimeZoneOffset Apl kanvas Aliran Desktop Copilot Studio Apl dipacu model Power Platform CLI Fungsi Dataverse Halaman Kuasa
Function Terpakai kepada
DateAdd
DateDiff
TimeZoneOffset

Menambah atau mencari perbezaan dalam nilai tarikh/masa dan menukar antara waktu tempatan dan UTC.

Penerangan

Fungsi ini DateAdd menambah beberapa unit kepada nilai tarikh/masa. Hasil adalah nilai tarikh/masa baharu. Anda juga boleh mengurangkan bilangan unit daripada nilai tarikh/masa dengan menentukan nilai negatif.

Fungsi mengembalikan DateDiff perbezaan antara dua nilai tarikh/masa. Hasilnya ialah keseluruhan bilangan unit.

Untuk kedua-dua fungsi, unit boleh menjadi TimeUnit.Milliseconds, TimeUnit.Seconds , TimeUnit.Minutes , TimeUnit.Hours , TimeUnit.Days , TimeUnit.Months , TimeUnit.Quarters, atau TimeUnit.Years. Secara lalai, kedua-dua fungsi menggunakan TimeUnit.Days sebagai unit.

Fungsi ini TimeZoneOffset mengembalikan bilangan minit antara waktu tempatan pengguna dan UTC (Waktu Sejagat Diselaraskan).

Anda boleh menggunakan DateAdd dengan untuk TimeZoneOffset menukar antara waktu tempatan pengguna dan UTC (Waktu Sejagat Terkoordinasi). Penambahan TimeZoneOffset akan menukar waktu tempatan kepada UTC, dan menolaknya (menambah negatif) akan menukar daripada UTC kepada waktu tempatan.

Lihat juga jenis data Tarikh, Masa dan Tarikh Masa dan bekerja dengan tarikh dan masa untuk maklumat lanjut.

Sintaks

DateAdd( TarikhMasa, Penambahan [, Unit ] )

  • TarikhMasa - Diperlukan. Nilai tarikh/masa untuk beroperasi.
  • Penambahan - Diperlukan. Nombor dalam Unit untuk menambah pada DateTime.
  • Unit - Pilihan. Jenis Unit untuk ditambah: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters , atauTimeUnit.Years. Jika tidak dinyatakan, TimeUnit.Days digunakan.

DateDiff( StartDateTime, EndDateTime [, Unit ] )

  • StartDateTime - Diperlukan. Nilai tarikh/masa permulaan.
  • EndDateTime - Diperlukan. Nilai tarikh/masa tamat.
  • Unit - Pilihan. Jenis Unit untuk ditolak: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters , atauTimeUnit.Years. Jika tidak dinyatakan, TimeUnit.Days digunakan.

TimeZoneOffset( [ DateTime ] )

  • TarikhMasa - Pilihan. Nilai tarikh/masa untuk mengembalikan ofset. Tarikh/masa semasa secara lalai digunakan.

Contoh

Dalam semua contoh ini, anggap bahawa tarikh dan masa semasa adalah 15 Julai, 2013, 1:02 PTG.

Mudah DateAdd

Formula Penerangan Hasil
Teks( DateAdd( Sekarang(), 3 ),
"dd-mm-yyyy hh:mm" )
Menambah tiga hari (unit lalai) pada tarikh dan masa semasa. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
Tambahkan empat jam pada tarikh dan masa semasa. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
Menambah satu bulan kepada tarikh semasa, tanpa masa sebagai Hari Ini tidak mengembalikan komponen masa. "15-08-2013 00:00"
Text( DateAdd( Sekarang(), -30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
Mengurangkan 30 minit dari tarikh dan masa semasa. "15-07-2013 12:32"

Mudah DateDiff

Formula Penerangan Hasil
DateDiff( Sekarang(), DateValue("1/1/2014") Mengembalikan perbezaan antara kedua-dua unit dalam unit lalai TimeUnit.Days 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) Mengembalikan perbezaan antara dua nilai dalam TimeUnit.Months 6
DateDiff( Sekarang(), Hari Ini(), TimeUnit.Minit ) Mengembalikan perbezaan antara tarikh/masa semasa dan tarikh semasa sahaja (tiada masa) dalam minit. Memandangkan Now adalah kemudian daripada Today, hasil akan menjadi negatif. -782

Perbezaan tarikh dengan hasil pecahan

Fungsi DateDiff ini hanya mengembalikan bilangan bulat unit yang ditolak, dan ketepatan diberikan dalam unit yang ditentukan. Untuk mengira perbezaan dengan kejituan yang lebih tinggi, gunakan unit yang lebih kecil dan tukar hasil yang sesuai, seperti dalam contoh di bawah.

Formula Penerangan Hasil
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) Minit/saat diabaikan, perbezaan adalah berdasarkan masa sehingga jam. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes)/60 Minit yang digunakan dalam perbezaan dan hasilnya dibahagikan dengan 60 untuk mendapatkan perbezaan dalam jam. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 Minit dan saat yang digunakan dalam perbezaan; hasilnya dibahagikan dengan 3600 untuk mendapatkan perbezaan dalam jam. 0.51

Menukar kepada UTC

Untuk menukar kepada UTC (Waktu Sejagat Diselaraskan), tambah untuk TimeZoneOffset masa yang diberikan.

Sebagai contoh, bayangkan tarikh dan masa semasa adalah 15 Julai 2013, 1:02 PTG dalam Waktu Siang Pasifik (PDT, UTC-7). Untuk menentukan masa semasa dalam UTC, gunakan:

  • DateAdd( Sekarang(), TimeZoneOffset(), TimeUnit.Minit )

TimeZoneOffset lalai kepada masa semasa, jadi anda tidak perlu menyerahkannya hujah.

Untuk melihat hasil, gunakan fungsi Text dengan format dd-mm-yyyy hh:mm yang akan mengembalikan 15-07-2013 20:02.

Menukar daripada UTC

Untuk menukar daripada UTC, tolak ( TimeZoneOffset dengan menambah negatif) untuk masa yang diberikan.

Sebagai contoh, bayangkan tarikh dan masa UTC 15 Julai 2013, 8:02 PTG adalah disimpan dalam pemboleh ubah yang dinamakan StartTime. Untuk melaraskan masa untuk zon bagi zon masa pengguna, gunakan:

  • DateAdd( Masa Permulaan, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Perhatikan tanda negatif sebelum TimeZoneOffset untuk menolak mengimbangi dan bukannya menambahnya.

Untuk melihat hasil, gunakan fungsi Text dengan format dd-mm-yyyy hh:mm yang akan menghasilkan 15-07-2013 13:02 jika anda berada dalam Waktu Siang Pasifik.