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

Функциялар Мынаған қолданылады
DateAdd
DateDiff
Кенеп бағдарламалары Copilot Studio Жұмыс үстелі ағындары Dataverse формула бағандары Үлгіге негізделген бағдарламалар Power Platform CLI Dataverse функциялары Power Pages
TimeZoneOffset Кенеп бағдарламалары Copilot Studio Жұмыс үстелі ағындары Модельге негізделген бағдарламалар Power Platform CLI Dataverse функциялары Power Pages
Function Мынаған қолданылады
DateAdd
DateDiff
TimeZoneOffset

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

Сипаттама

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

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

Екі функция үшін де бірлік мүмкін be УақытБірлігі.Миллисекунд, УақытБірлігі.Секунд, УақытБірлігі. Минут, Ti meUnit.Cours, УақытБірлігі.Күндер, УақытБірлігі.Айлар, TimeUnit.Quarters, немесе Уақыт бірлігі.Жылдар. Әдепкі бойынша, екі функция да TimeUnit.Days бірліктер ретінде пайдаланады.

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

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

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

Синтаксис

DateAdd( КүнУақыты, Қосу [, Бірліктер ] )

  • DateTime - Міндетті. Әрекет орындалатын күн/уақыт мәні.
  • Қосымша - Міндетті. Бірліктер ішіндегі DateTime мәніне қосатын сан.
  • Бірліктер - Қосымша. Бірліктер түрі қосу: Уақыт бірлігі.Миллисекунд, Уақыт бірлігі.секунд, Уақыт бірлігі.минут, Т imeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters, немесе Уақыт бірлігі.Жылдар. Көрсетілмесе, TimeUnit.Days қолданылады.

DateDiff( StartDateTime, EndDateTime [, Бірліктер ] )

  • StartDateTime - Міндетті. Басталу күні/уақыты мәні.
  • EndDateTime - Міндетті. Аяқталу күні/уақыты мәні.
  • Бірліктер - Қосымша. Бірліктер түрі шегеріңіз: УақытБірлігі.Миллисекунд, УақытБірлігі.Секунд, УақытБірлігі.Минуттар, Уақыт ол.Сағат, Уақыт бірлігі.Күндер, Уақыт бірлігі.Айлар, TimeUnit.Quarters, немесе Уақыт бірлігі.Жылдар. Көрсетілмесе, TimeUnit.Days қолданылады.

TimeZoneOffset( [ DateTime ] )

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

Мысалдар

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

Қарапайым DateAdd

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

Қарапайым DateDiff

Формула Сипаттама Нәтиже
DateDiff( Қазір (), 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( Басталу уақыты, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Қосудың орнына ығысты азайту үшін TimeZoneOffset теріс белгіге назар аударыңыз.

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