共用方式為


DateAdd、 和DateDiffTimeZoneOffset函數

Functions 適用於:
DateAdd
DateDiff
畫布應用程式 Copilot Studio 桌面流程 Dataverse 公式欄 模型導向應用程式 Power Platform CLI Dataverse 函數 Power Pages
TimeZoneOffset 畫布應用程式 Copilot Studio 桌面流程 模型導向應用程式 Power Platform CLI Dataverse 函數 Power Pages
函式 適用於:
DateAdd
DateDiff
TimeZoneOffset

在日期/時間值新增或尋找差異,並且在當地時間與 UTC 之間轉換。

描述

DateAdd 函數會將單位數目新增至日期/時間值。 結果是新的日期/時間值。 您也可以藉由指定負數值以從日期/時間值減去單位數。

DateDiff 函式會傳回兩個日期/時間值之間的差異。 結果是單位整數。

對於這兩個函式,單位可以是 TimeUnit.MillisecondsTimeUnit.SecondsTimeUnit.MinutesTimeUnit.HoursTimeUnit.DaysTimeUnit.MonthsTimeUnit.QuartersTimeUnit.Years。 這兩個函式預設會使用 TimeUnit.Days 做為單位。

函式會 TimeZoneOffset 傳回使用者當地時間與 UTC (協調世界時) 之間的分鐘數。

您可以 DateAdd 搭配 在 TimeZoneOffset 使用者的當地時間和 UTC (協調世界時間) 之間進行轉換。 加法 TimeZoneOffset 會將當地時間轉換為 UTC,減去它(加上負數)會從 UTC 轉換為當地時間。

另請參閱 Date、Time 和 DateTime 資料類型處理日期和時間

語法

DateAdd日期時間加法 [, 單位 ] )

  • DateTime - 必需。 要運作的日期/時間值。
  • 添加 - 必需。 要新曾至 DateTime 中的數目,以 Units 為單位。
  • Units - 可選。 要加上的單位類型:TimeUnit.MillisecondsTimeUnit.SecondsTimeUnit.MinutesTimeUnit.HoursTimeUnit.DaysTimeUnit.MonthsTimeUnit.QuartersTimeUnit.Years。 如果未指定,則會使用 TimeUnit.Days

DateDiff開始日期時間結束日期時間 [, 單位 ] )

  • StartDateTime - 必需。 開始日期/時間值。
  • EndDateTime - 必需。 結束日期/時間值。
  • Units - 可選。 要減去的單位類型:TimeUnit.MillisecondsTimeUnit.SecondsTimeUnit.MinutesTimeUnit.HoursTimeUnit.DaysTimeUnit.MonthsTimeUnit.QuartersTimeUnit.Years。 如果未指定,則會使用 TimeUnit.Days

TimeZoneOffset( [ 日期時間 ] )

  • DateTime - 可選。 預計傳回時差的日期/時間值。 根據預設,會使用目前的日期/時間。

範例

在所有範例中,假設目前的日期與時間是 2013 年 7 月 15 日,下午 1:02

簡 DateAdd

公式 描述 結果
文字( DateAdd( Now(), 3 ),
“dd-mm-yyyy hh:mm” )
將三天 (預設單位) 新增至目前的日期與時間。 "18-07-2013 13:02"
文字( DateAdd( 現在(), 4, 時間單位小時 ),
“dd-mm-yyyy hh:mm” )
將四個小時新增至目前的日期與時間。 "15-07-2013 17:02"
文字 ( DateAdd( 今天 (), 1, 時間單位 ) ,
“dd-mm-yyyy hh:mm” )
將一個月新增至目前的日期,今天 的時間不會傳回時間元件。 "15-08-2013 00:00"
文字 ( DateAdd( 現在 (), -30, 時間單位 ) ,
“dd-mm-yyyy hh:mm” )
從目前的日期與時間減去 30 分鐘。 "15-07-2013 12:32"

簡 DateDiff

公式 描述 結果
DateDiff( Now(), DateValue(“2014 年 1 月 1 日”) ) TimeUnit.Days 為預設單位傳回兩個單位之間的差異 170
DateDiff( Now(), DateValue(“1/1/2014”), TimeUnit.Months ) TimeUnit.Months 為單位傳回兩個值之間的差異 6
DateDiff( 現在 ()、今天 ()、時間單位 ) 傳回目前的日期/時間與目前日期 (不含時間) 之間的差異,以分鐘為單位。 因為 現在 晚於 今天,所以結果會是負數。 -782

日期與分數結果的差異

此函數 DateDiff 只會傳回要減去的單位的整數,且精確度會以指定的單位給出。 若要以較高的有效位數計算差異,請使用較小的單位,並適當地轉換結果,如下列範例所示。

公式 描述 結果
DateDiff( TimeValue(“09:45:00”), TimeValue(“10:15:36”), TimeUnit.Hours ) 將忽略分鐘/秒,差異是根據時間決定,最多以小時為單位。 1
DateDiff( TimeValue(“09:45:00”), TimeValue(“10:15:36”), TimeUnit.Minutes )/60 在差異中使用分鐘數,而結果會除以 60 以表示以小時為單位的差異。 0.5
DateDiff( TimeValue(“09:45:00”)、TimeValue(“10:15:36”)、TimeUnit.Seconds )/3600 在差異中使用分鐘數和秒數,結果會除以 3600 以表示以小時為單位的差異。 0.51

轉換成 UTC

若要轉換為 UTC(協調世界時),請在給定時間添加 。TimeZoneOffset

例如,假設目前的日期與時間是太平洋日光節約時間 (PDT UTC-7) 2013 年 7 月 15 日,下午 1:02。 若要判斷目前的 UTC 時間,請使用:

  • DateAdd( 現在(), TimeZoneOffset()、時間單位分鐘)

TimeZoneOffset 預設為目前時間,因此您不需要傳遞參數。

若要查看結果,請使用 Text 函式與格式 dd-mm-yyyy hh:mm ,這會傳回 15-07-2013 20:02

從 UTC 轉換

要從 UTC 轉換,請減去 TimeZoneOffset 給定時間的 (通過添加負數)。

例如,假設 UTC 日期與時間 2013 年 7 月 15 日,下午 8:02 是儲存在名為 StartTime 的變數。 若要調整使用者時區的時間,請使用:

  • DateAdd( 開始時間, −TimeZoneOffset( 開始時間 )、時間單位.分鐘 )

記下前面 TimeZoneOffset 的負號以減去偏移量而不是添加偏移量。

若要查看結果,請使用 Text 函式與格式 dd-mm-yyyy hh:mm ,如果您位於太平洋日光節約時間的時區,這會傳回 15-07-2013 13:02