Бөлісу құралы:


DateAdd, DateDiff және TimeZoneOffset функциялары

Function Мынаған қолданылады
Қосылған күні Кенеп қолданбалары Dataverse формула бағандары Жұмыс үстелі ағындары Үлгіге негізделген қолданбалар Power Platform CLI
DateDiff Кенеп қолданбалары Dataverse формула бағандары Жұмыс үстелі ағындары Үлгіге негізделген қолданбалар Power Platform CLI
TimeZoneOffset Кенеп қолданбалары Жұмыс үстелі ағындары Үлгіге негізделген қолданбалар Power Platform CLI

Күн/уақыт мәндеріндегі айырмашылықты қосады немесе табады және жергілікті уақыт пен UTC арасында түрлендіреді.

Сипаттама

DateAdd функциясы күн/уақыт мәніне бірліктер санын қосады. Нәтиже — жаңа күн/уақыт мәні. Сондай-ақ теріс мәнді көрсету арқылы күн/уақыт мәнінен бірліктер санын шегеруге болады.

DateDiff функциясы екі күн/уақыт мәні арасындағы айырмашылықты қайтарады. Нәтижесінде бірліктердің жалпы саны шығады.

Екі функция үшін де бірліктер УақытБірлігі.Миллисекунд, УақытБірлігі.Секунд, болуы мүмкін. TimeUnit.Minutes, УақытБірлігі.Сағат, УақытБірлігі.Күндер, TimeUnit.Months, TimeUnit.Quarters немесе TimeUnit.Years. Әдепкі бойынша, екі функция да TimeUnit.Days бірліктер ретінде пайдаланады.

TimeZoneOffset функциясы пайдаланушының жергілікті уақыты мен UTC (реттелген әмбебап уақыт) арасындағы минуттар санын қайтарады.

Пайдаланушының жергілікті уақыты мен UTC (реттелген әмбебап уақыт) арасында түрлендіру үшін DateAdd функциясын TimeZoneOffset функциясымен бірге пайдалануға болады. TimeZoneOffset фукнциясын қосу жергілікті уақытты UTC уақытына түрлендіреді, ал оны шегеру (теріс мәнді қосу) UTC уақытынан жергілікті уақытқа түрлендіреді.

Сондай-ақ, қосымша ақпарат алу үшін Күн, уақыт және DateTime деректер түрлерін және күндер мен уақыттармен жұмыс істеу қараңыз.

Синтаксис

DateAdd( DateTime, Addition [, Units ] )

  • DateTime - Міндетті. Әрекет орындалатын күн/уақыт мәні.
  • Addition - Міндетті. Бірліктер ішіндегі DateTime мәніне қосатын сан.
  • Units - Міндетті емес. Қосылатын Бірліктер түрі: TimeUnit.Milliseconds, УақытБірлігі.Секунд, УақытБірлігі.Минуттар, УақытБірлігі.Сағат, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, немесе >Уақыт бірлігі.Жылдар. Егер көрсетілмесе, TimeUnit.Days пайдаланылады.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - Міндетті. Басталу күні/уақыты мәні.
  • EndDateTime - Міндетті. Аяқталу күні/уақыты мәні.
  • Units - Міндетті емес. Шығарылатын Бірліктер түрі: УақытБірлігі.Миллисекунд, УақытБірлігі.Секунд, Уақыт бірлігі. Минут, Уақыт бірлігі.Сағат, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, немесе >Уақыт бірлігі.Жылдар. Егер көрсетілмесе, TimeUnit.Days пайдаланылады.

TimeZoneOffset( [ DateTime ] )

  • DateTime - Міндетті емес. Ауытқу мәні қайтарылатын күн/уақыт мәні. Әдепкі бойынша, ағымдағы күн/уақыт пайдаланылады.

Мысалдар

Осы мысалдардың барлығында ағымдағы күн мен уақыт 15 маусым, 2013, 13:02 деп есептеледі.

Қарапайым DateAdd

Формула Сипаттама Нәтиже
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Ағымдағы күн мен уақытқа үш күнді (әдепкі бірліктер) қосады. "18-07-2013 13:02"
Мәтін( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
Ағымдағы күн мен уақытқа төрт сағат қосады. "15-07-2013 17:02"
Мәтін( DateAdd( Бүгін(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
Ағымдағы күнге бір ай қосады, Бүгін түріндегі уақытсыз уақыт құрамдасын қайтармайды. "15-08-2013 00:00"
Мәтін( DateAdd( Now(), ‑30, TimeUnit.Minutes ),
"dd-mm-yyyy hh:mm" )
Ағымдағы күн мен уақыттан 30 минутты шегереді. "15-07-2013 12:32"

Қарапайым DateDiff

Формула Сипаттама Нәтиже
DateDiff( Now(), DateValue("1/1/2014") ) TimeUnit.Days әдепкі бірліктеріндегі екі бірлік арасындағы айырмашылықты қайтарады 170
DateDiff(Қазір(), DateValue("1/1/2014"), TimeUnit.Months ) TimeUnit.Months ішіндегі екі мән арасындағы айырмашылықты қайтарады 6
DateDiff(Қазір(), Бүгін(), TimeUnit.Minutes ) Ағымдағы күн/уақыт және тек ағымдағы күн (уақытсыз) арасындағы айырмашылықты минуттар түрінде қайтарады. Қазір мәні Бүгін мәнінен кейінірек болғандықтан, нәтиже теріс болады. -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) 15 шілде, 2013, 13:02 деп елестетіңіз. UTC уақытындағы ағымдағы уақытты анықтау үшін мынаны пайдаланыңыз:

  • DateAdd(Қазір(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset әдепкі мәні ағымдағы уақыт болады, осылайша оны аргумент ретінде өткізу қажет болмайды.

Нәтижені көру үшін Text функциясын dd-mm-yyyy hh:mm пішімінде пайдаланыңыз, бұл 15-07-2013 20:02 мәнін қайтарады.

UTC уақытына түрлендіру

UTC уақытынан түрлендіру үшін берілген уақыт үшін TimeZoneOffset шегеріңіз (теріс мәнді қосу арқылы).

Мысалы, 15 шілде, 2013, 20:02 UTC күні мен уақыты StartTime деп аталатын айнымалыда сақталатынын елестетіңіз. Уақытты пайдаланушының уақыт белдеуіне реттеу үшін мынаны пайдаланыңыз:

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

TimeZoneOffset алдындағы теріс таңбаға назар аударыңыз (ол ауытқуды қосуға емес, шегеруге арналған).

Нәтижені көру үшін Text функциясын dd-mm-yyyy hh:mm пішімінде пайдаланыңыз, Тынық мұхиттық жазғы уақытта болсаңыз, бұл 15-07-2013 13:02 мәніне әкеледі.