DateAdd, DateDiff 및 TimeZoneOffset 함수

적용 대상: 캔버스 앱 Dataverse 수식 열 데스크톱 흐름 모델 기반 앱 Power Platform CLI

날짜/시간 값의 차이를 추가하거나 찾아서 현지 시간과 UTC 사이의 변환을 수행합니다.

설명

DateAdd 함수는 날짜/시간 값에 단위 수를 추가합니다. 결과는 새 날짜/시간 값입니다. 음수 값을 지정하여 날짜/시간 값에서 단위 수를 뺄 수도 있습니다.

DateDiff 함수는 두 날짜/시간 값의 차이를 반환합니다. 결과는 정수 단위입니다.

두 함수 모두 TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters 또는 TimeUnit.Years 단위를 사용할 수 있습니다. 기본적으로 두 함수 모두 TimeUnit.Days를 단위로 사용합니다.

TimeZoneOffset 함수는 사용자의 현지 시간과 UTC(협정 세계시) 사이의 시간을 분 단위로 반환합니다.

DateAddTimeZoneOffset을 사용하면 사용자의 현지 시간과 UTC(협정 세계시) 사이에서 변환이 가능합니다. TimeZoneOffset을 추가하면 현지 시간이 UTC로 변환되고 빼면(음수를 추가)하면 UTC에서 현지 시간으로 변환됩니다.

자세한 내용은 Date, Time 및 DateTime 데이터 형식날짜 및 시간 작업을 참조하십시오.

구문

DateAdd( DateTime, Addition [, Units ] )

  • DateTime - 필수 항목입니다. 연산을 수행할 날짜/시간 값입니다.
  • Addition - 필수 항목입니다. DateTime에 추가할 Units에 해당하는 숫자입니다.
  • Units - 선택 사항입니다. 추가할 단위 유형: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters 또는 TimeUnit.Years. 지정하지 않으면 TimeUnit.Days가 사용됩니다.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - 필수 항목입니다. 시작 날짜/시간 값입니다.
  • EndDateTime - 필수 항목입니다. 종료 날짜/시간 값입니다.
  • Units - 선택 사항입니다. 제거할 단위 유형: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters 또는 TimeUnit.Years. 지정하지 않으면 TimeUnit.Days가 사용됩니다.

TimeZoneOffset( [ DateTime ] )

  • DateTime - 선택 사항입니다. 오프셋을 반환할 날짜/시간 값입니다. 기본적으로 현재 날짜/시간이 사용됩니다.

예제

이 모든 예에서 현재 날짜와 시간이 July 15, 2013, 1:02 PM이라고 가정합니다.

간단한 DateAdd

수식 설명 결과
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
현재 날짜 및 시간에 3일(기본 단위)을 추가합니다. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-yyyy hh:mm" )
현재 날짜 및 시간에 4시간을 추가합니다. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-yyyy hh:mm" )
현재 날짜에 시간 없이 한 달을 추가합니다. Today는 시간 구성 요소를 반환하지 않기 때문입니다. "15-08-2013 00:00"
Text( 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( Now(), DateValue("1/1/2014"), TimeUnit.Months ) 두 값의 차이를 TimeUnit.Months 단위로 반환합니다 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) 현재 날짜/시간과 현재 날짜(시간 없음) 사이의 차이를 분 단위로 반환합니다. NowToday보다 늦기 때문에 결과는 음수가 됩니다. -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 기준 July 15, 2013, 1:02 PM이라고 가정하겠습니다. UTC 기준 현재 시간을 확인하려면 다음을 사용하십시오.

  • DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset의 기본값은 현재 시간이므로 인수를 전달할 필요가 없습니다.

결과를 보기 위해 dd-mm-yyyy hh:mm 형식으로 Text 함수를 사용하면 15-07-2013 20:02가 반환됩니다.

UTC에서 변환

UTC에서 변환하려면 주어진 시간에서 TimeZoneOffset을 뺍니다(음수를 더합니다).

예를 들어 UTC 날짜 및 시간인 July 15, 2013, 8:02 PMStartTime이라는 변수에 저장되어 있다고 가정하겠습니다. 사용자의 표준 시간대를 조정하려면 다음을 사용합니다.

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

오프셋을 추가하지 않고 빼기 위해 TimeZoneOffset 앞에 음수 기호가 있습니다.

결과를 보기 위해 dd-mm-yyyy hh:mm 형식으로 Text 함수를 사용하면 사용자가 태평양 일광 절약 시간대에 있는 경우 15-07-2013 13:02가 반환됩니다.