Прочитај на енглеском

Делите путем


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

Function Односи се на
Датум додавања Колоне Dataverse формуле за апликације платна Токови на радној површини Апликације Power Platform засноване на моделу ЦЛИ
ДатеДифф Колоне Dataverse формуле за апликације платна Токови на радној површини Апликације Power Platform засноване на моделу ЦЛИ
Временска зонаОфсет Цанвас аппс Десктоп токови Апликације Power Platform засноване на моделу ЦЛИ

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

Опис

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

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

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

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

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

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

Синтакса

ДатеАдд (ДатеТиме,Аддитион [, Јединице ] )

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

ДатеДифф (СтартДатеТиме,ЕндДатеТиме [, Јединице ] )

  • СтартДатеТиме - Обавезно. Покретање вредности датум/време.
  • ЕндДатеТиме - Обавезно. Завршавање вредности датум/време.
  • Јединице - Опционо. Тип јединица за одузимање: ТимеУнит.Миллисецондс , ТимеУнит.Сецондс , ТимеУнит.Минутес , ТимеУнит.Хоурс , ТимеУнит.Даис , ТимеУнит.Монтхс , ТимеУнит.Qуартерс , или ТимеУнит.Yеарс. Ако није наведено, користе се ТимеУнит.Даис .

ТимеЗонеОффсет ( [ ДатеТиме ] )

  • ДатеТиме - Опционо. Вредност датум/време за коју се враћа одступање. Подразумевано се користи тренутни датум/време.

Примери

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

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

Формула Опис Резултат
Теxт ( ДатеАдд( Ноw(), 3 ),
"dd-mm-yyyy hh:mm" )
Додаје се три дана (подразумеване јединице) тренутном датуму и времену. „18. 7. 2013., 13:02“
Теxт ( ДатеАдд( Ноw(), 4, ТимеУнит.Хоурс ),
"dd-mm-yyyy hh:mm" )
Додајте четири сата тренутном датуму и времену. „15. 7. 2013., 17:02“
Теxт ( ДатеАдд( Тодаy(), 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

Формула Опис Резултат
ДатеДифф ( Ноw(), ДатеВалуе("1/1/2014") ) Враћа разлику између две јединице у подразумеваним јединицама ТимеУнит.Даис 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(), ТимеЗонеОффсет(), ТимеУнит.Минутес

ТимеЗонеОффсет подразумева тренутно време, тако да не морате да му проследите аргумент.

Да бисте видели резултат, користите функцију 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 ако сте у пацифичком летњем/зимском рачунању времена.