Bagikan melalui


DateAdd, DateDiff, dan TimeZoneOffset fungsi

Functions Berlaku untuk
DateAdd
DateDiff
Aplikasi Kanvas Copilot Studio Desktop mengalir kolom rumus Dataverse Aplikasi berbasis model Power Platform CLI Fungsi Dataverse Power Pages
TimeZoneOffset Aplikasi Kanvas Copilot Studio Desktop mengalir aplikasi berbasis model Power Platform CLI Fungsi Dataverse Power Pages
Function Berlaku untuk
DateAdd
DateDiff
TimeZoneOffset

Menambah atau menemukan perbedaan dalam nilai tanggal/waktu dan mengonversi antara waktu setempat dan UTC.

KETERANGAN

Fungsi menambahkan DateAdd sejumlah unit ke nilai tanggal/waktu. Hasilnya adalah nilai tanggal/waktu baru. Anda juga dapat mengurangi jumlah unit dari nilai tanggal/waktu dengan menentukan nilai negatif.

Fungsi mengembalikan DateDiff selisih antara dua nilai tanggal/waktu. Hasilnya adalah bilangan cacah unit.

Untuk kedua fungsi, satuan dapat berupa TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters, atau TimeUnit.Years. Secara default, kedua fungsi menggunakan TimeUnit.Days sebagai satuan.

Fungsi mengembalikan TimeZoneOffset jumlah menit antara waktu lokal pengguna dan UTC (Waktu Universal Terkoordinasi).

Anda dapat menggunakan DateAdd untuk TimeZoneOffset mengonversi antara waktu lokal pengguna dan UTC (Waktu Universal Terkoordinasi). TimeZoneOffset Menambahkan akan mengonversi waktu lokal ke UTC, dan menguranginya (menambahkan negatif) akan dikonversi dari UTC ke waktu lokal.

Lihat juga tipe data Tanggal, Waktu, dan TanggalWaktu dan bekerja dengan tanggal dan waktu untuk informasi selengkapnya.

Sintaks

DateAdd( DateTime, Penambahan [, Unit ] )

  • DateTime - Wajib. Nilai tanggal/waktu untuk beroperasi.
  • Tambahan - Diperlukan. Angka, di Unit, untuk ditambahkan ke DateTime.
  • Unit - Opsional. Jenis Unit yang akan ditambahkan: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters, atau TimeUnit.Years. Jika tidak ditentukan, TimeUnit.Days digunakan.

DateDiff( StartDateTime, EndDateTime [, Unit] )

  • StartDateTime - Wajib. Nilai tanggal/waktu mulai.
  • EndDateTime - Wajib. Nilai tanggal/waktu akhir.
  • Unit - Opsional. Jenis Unit yang akan dikurangi: TimeUnit.Milliseconds,TimeUnit.Seconds,TimeUnit.Minutes,TimeUnit.Hours,TimeUnit.Days,TimeUnit.Months,TimeUnit.Quarters , atauTimeUnit.Years. Jika tidak ditentukan, TimeUnit.Days digunakan.

TimeZoneOffset( [ DateTime ] )

  • DateTime - Opsional. Nilai tanggal/waktu yang akan menghasilkan offset. Secara default, tanggal/waktu saat ini digunakan.

Contoh

Dalam semua contoh ini, anggap bahwa tanggal dan waktu saat ini adalah 15 Juli 2013, 1:02 PM.

Sederhana DateAdd

Rumus KETERANGAN Hasil
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Menambahkan tiga hari (unit default) ke tanggal dan waktu saat ini. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
Menambahkan empat jam ke tanggal dan waktu saat ini. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
Menambahkan satu bulan ke tanggal saat ini, tanpa waktu seperti Hari ini tidak menghasilkan komponen waktu. "15-08-2013 00:00"
Text( DateAdd( Now(), -30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
Mengurangi 30 menit dari tanggal dan waktu saat ini. "15-07-2013 12:32"

Sederhana DateDiff

Rumus KETERANGAN Hasil
DateDiff( Now(), DateValue("1/1/2014") ) Mengembalikan selisih antara dua unit dalam satuan default TimeUnit.Days 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) Mengembalikan perbedaan antara dua nilai dalam TimeUnit.Months 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) Menghasilkan selisih antara tanggal/waktu saat ini dan tanggal saat ini (tidak ada waktu) dalam menit. Karena Sekarang lebih lambat dari Hari ini, hasilnya akan negatif. -782

Selisih tanggal dengan hasil pecahan

Fungsi DateDiff hanya mengembalikan seluruh jumlah unit yang dikurangi, dan presisi diberikan dalam unit yang ditentukan. Untuk menghitung selisih dengan presisi yang lebih tinggi, gunakan unit yang lebih kecil, dan konversikan hasil dengan benar, seperti contoh di bawah ini.

Rumus KETERANGAN Hasil
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) Menit/detik diabaikan, perbedaannya didasarkan pada waktu hingga jam. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 Menit digunakan dalam selisih, dan hasilnya dibagi menjadi 60 untuk memiliki selisih dalam jam. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 Menit dan detik digunakan dalam selisih; hasilnya dibagi menjadi 3600 untuk memiliki selisih dalam jam. 0.51

Mengonversi ke UTC

Untuk mengonversi ke UTC (Waktu Universal Terkoordinasi), tambahkan TimeZoneOffset untuk waktu tertentu.

Misalnya, bayangkan tanggal dan waktu saat ini adalah 15 juli 2013, 1:02 PM di Pacific Daylight time (PDT, UTC-7). Untuk menentukan waktu saat ini di UTC, gunakan:

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

TimeZoneOffset default ke waktu saat ini, sehingga Anda tidak perlu meneruskannya argumen.

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

Mengonversi dari UTC

Untuk mengonversi dari UTC, kurangi TimeZoneOffset (dengan menambahkan negatif) untuk waktu tertentu.

Misalnya, bayangkan tanggal dan waktu UTC 15 Juli 2013, 8:02 PM disimpan dalam variabel bernama StartTime. Untuk menyesuaikan waktu untuk zona waktu pengguna, gunakan:

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

Perhatikan tanda negatif sebelumnya TimeZoneOffset untuk mengurangi offset daripada menambahkannya.

Untuk melihat hasilnya, gunakan fungsi Text dengan format dd-mm-yyyy hh:mm, yang akan menghasilkan 15-07-2013 13:02 jika Anda berada dalam waktu Pacific Daylight.