Делите путем


ДатеАдд, ДатеДифф и ТимеЗонеОффсет функције

Function Односи се на
ДатумОда Цанвас аппс Dataverse формула цолумнс Десктоп флоwс Модел-дривен аппс Power Platform ЦЛИ
ДатумДифа Цанвас аппс Dataverse формула цолумнс Десктоп флоwс Модел-дривен аппс Power Platform ЦЛИ
ТимеЗонеОффсет Цанвас аппс Десктоп флоwс Модел-дривен аппс Power Platform ЦЛИ

Додаје или проналази разлику у вредностима датум/време и конвертује између локалног времена и UTC.

Опис

Функција DateAdd додаје број јединица у вредност датум/време. Резултат је нова вредност датум/време. Такође можете одузети број јединица од вредности датум/време тако што ћете навести негативну вредност.

Функција DateDiff враћа разлику између две вредности датум/време. Резултат је цео број јединица.

За обе функције јединице могу бити ТимеУнит.Миллисецондс,ТимеУнит.Сецондс,ТимеУнит.Минутес,ТимеУнит.Хоурс,ТимеУнит.Даyс,ТимеУнит.Монтхс,ТимеУнит.Qуартерс или ТимеУнит.Yеарс. Обе функције подразумевано користе ТимеУнит.Даyс као јединице.

Функција TimeZoneOffset враћа број минута између локалног времена корисника и UTC (Coordinated Universal Time).

Можете користити DateAdd са TimeZoneOffset да бисте конвертовали између локалног времена корисника и UTC (Coordinated Universal Time). Додавање TimeZoneOffset претвориће локално време у UTC, а одузимање (додавање негативног) претвориће из UTC у локално време.

Такође погледајте типове података "Датум", "Време" и "Време извршавања " и рад са датумима и временом за више информација.

Синтакса

DateAdd( DateTime, Addition [, Units ] )

  • DateTime – Обавезно. Вредност датум/време на којој се ради.
  • Addition – Обавезно. Број, у Јединицима, за додавање у DateTime.
  • Units – Обавезно. Тип јединица за додавање:ТимеУнит.Миллисецондс,ТимеУнит.Сецондс,ТимеУнит.Минутес,ТимеУнит.Хоурс,ТимеУнит.Даyс,ТимеУнит.Монтхс,ТимеУнит.Qуартерс или ТимеУнит.Yеарс. Ако није наведено, користе се "ВремеУнит.Дани ".

DateDiff( StartDateTime, EndDateTime [, Јединице ] )

  • StartDateTime – Обавезно. Покретање вредности датум/време.
  • EndDateTime – Обавезно. Завршавање вредности датум/време.
  • Units – Обавезно. Тип јединица за одузимање: ТимеУнит.Миллисецондс,ТимеУнит.Сецондс,ТимеУнит.Минутес,ТимеУнит.Хоурс,ТимеУнит.Даyс,ТимеУнит.Монтхс,ТимеУнит.Qуартерс или ТимеУнит.Yеарс. Ако није наведено, користе се "ВремеУнит.Дани ".

TimeZoneOffset( [ DateTime ] )

  • DateTime – Обавезно. Вредност датум/време за коју се враћа одступање. Подразумевано се користи тренутни датум/време.

Примери

У свим овим примерима претпоставите да су тренутни датум и време 15. јул 2013., 13:02.

Једноставно DateAdd

Формула Опис Резултат
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Додаје се три дана (подразумеване јединице) тренутном датуму и времену. „18. 7. 2013., 13:02“
Теxт ( ДатеАдд( Ноw(), 4, ТимеУнит.Хоурс ),
"dd-mm-yyyy hh:mm" )
Додајте четири сата тренутном датуму и времену. „15. 7. 2013., 17:02“
Текст ( ДатеАдд( Данас(), 1, ВремеУнит.Монтхс ),
"dd-mm-yyyy hh:mm" )
Додаје се месец дана тренутном датуму, без времена као Данас не враћа временску компоненту. „15. 8. 2013., 00:00“
Теxт ( ДатеАдд( Ноw(), -30, ТимеУнит.Минутес ),
"dd-mm-yyyy hh:mm" )
Одузима 30 минута од тренутног датума и времена. „15. 7. 2013., 12:32“

Једноставно DateDiff

Формула Опис Резултат
DateDiff( Now(), DateValue("1/1/2014") ) Даје разлику између две јединице у подразумеваним јединицама јединице јединице "ВремеУнит.Даyс ". 170
ДатеДифф ( Ноw(), ДатеВалуе("1/1/2014"), ТимеУнит.Монтхс ) Даје разлику између две вредности у програму ТимеУнит.Монтхс. 6
ДатеДифф ( Ноw(), Тодаy(), ТимеУнит.Минутес ) Враћа разлику само између тренутног датума/времена и тренутног датума (без времена) у минутама. Од када је Сада касније од Данас резултат ће бити негативан. -782

Разлика датума са делимичним резултатима

Функција DateDiff враћа само цео број јединица које се одузимају, а прецизност је дата у наведеној јединици. Да бисте израчунали разлику са већом прецизношћу, користите мању јединицу и конвертујте резултат на одговарајући начин, као у примерима у наставку.

Формула Опис Резултат
ДатеДифф ("ТимеВалуе("09 :45:00 "), ТимеВалуе("10:15:36"), ТимеУнит.) Минути/секунде се занемарују, разлика се заснива на времену до сата. 1
ДатеДифф ( ТимеВалуе("09:45:00"), ТимеВалуе("10:15:36"), ТимеУнит.Минутес )/60 Минути се користе у разлици, а резултат се дели са 60 да би се добила разлика у сатима. 0.5
ДатеДифф ("ТимеВалуе("09 :45:00 "), ТимеВалуе("10:15:36"), ТимеУнит.Сецондс )/3600 Минути и секунде се користе у разлици, а резултат се дели са 3600 да би се добила разлика у сатима. 0.51

Ковертовање у UTC

Да бисте конвертовали у UTC (Координисано универзално време), додаје TimeZoneOffset за дато време.

На пример, замислите да су тренутни датум и време 15. јул 2013., 13:02 у Пацифичко летње/зимско рачунање времена (PDT, UTC-7). Да бисте одредили тренутно време у UTC, користите:

  • ДатеАдд ( Ноw(), ТимеЗонеОффсет(), ТимеУнит.Минутес )

TimeZoneOffset се подразумева на тренутно време, тако да не требате да уносите аргумент у њу.

Да бисте видели резултат, користите функцију Text са форматом dd-mm-yyyy hh:mm, који ће вратити 15. 7. 2013., 20:02.

Претварање из UTC

Да бисте конвертовали из UTC, одузмите TimeZoneOffset (додавањем негативног) за дато време.

На пример, замислите UTC датум и време 15. јул 2013., 20:02 се чува у променљивој под називом StartTime. Да бисте подесили време за временску зону корисника, користите:

  • ДатеАдд ( Време почетка,ВремеЗонеОффсет −( Време почетка ), ВремеУнит.Минутес )

Имајте на уму негативни знак пре TimeZoneOffset да бисте одузели одступање, а не додали га.

Да бисте видели резултат, користите функцију Text са форматом dd-mm-yyyy hh:mm, што ће резултирати у 15. 7. 2013., 13:02 ако сте у пацифичком летњем/зимском рачунању времена.