다음을 통해 공유


GetDurationFormatEx 함수(winnls.h)

시간 기간을 이름으로 지정된 로캘의 시간 문자열로 서식을 지정합니다.

참고 애플리케이션은 Windows Vista 이상에서만 실행되도록 설계된 경우 GetDurationFormat 을 기본 설정으로 이 함수를 호출해야 합니다.
 
참고 이 함수는 예를 들어 사용자 지정 로캘로 인해 릴리스 간에 변경되는 데이터의 형식을 지정할 수 있습니다. 애플리케이션이 데이터를 유지하거나 전송해야 하는 경우 영구 로캘 데이터 사용을 참조하세요.
 

구문

int GetDurationFormatEx(
  [in, optional]  LPCWSTR          lpLocaleName,
  [in]            DWORD            dwFlags,
  [in, optional]  const SYSTEMTIME *lpDuration,
  [in]            ULONGLONG        ullDuration,
  [in, optional]  LPCWSTR          lpFormat,
  [out, optional] LPWSTR           lpDurationStr,
  [in]            int              cchDuration
);

매개 변수

[in, optional] lpLocaleName

로캘 이름 또는 다음 미리 정의된 값 중 하나에 대한 포인터입니다.

[in] dwFlags

함수 옵션을 지정하는 플래그입니다. lpFormatNULL로 설정되지 않은 경우 이 매개 변수를 0으로 설정해야 합니다. lpFormatNULL로 설정된 경우 애플리케이션은 지정된 로캘에 대한 시스템 기본 기간 형식을 사용하여 문자열의 형식을 지정하는 LOCALE_NOUSEROVERRIDE 지정할 수 있습니다.

주의LOCALE_NOUSEROVERRIDE 사용하는 것은 사용자 기본 설정을 사용하지 않도록 설정하기 때문에 권장되지 않습니다.
 

[in, optional] lpDuration

형식을 지정할 기간 정보를 포함하는 SYSTEMTIME 구조체에 대한 포인터입니다. 함수가 이 매개 변수를 무시하고 ullDuration을 사용하는 경우 애플리케이션은 이 매개 변수를 NULL로 설정합니다.

[in] ullDuration

기간의 100나노초 간격 수를 나타내는 64비트 부호 없는 정수입니다. lpDurationullDuration이 모두 설정된 경우 lpDuration 매개 변수가 우선합니다. lpDurationNULL로 설정되고 ullDuration이 0으로 설정된 경우 기간은 0입니다.

[in, optional] lpFormat

아래와 같이 문자가 있는 형식 문자열에 대한 포인터입니다. 함수가 지정된 로캘의 기간 형식에 따라 문자열의 형식을 지정하는 경우 애플리케이션에서 이 매개 변수를 NULL 로 설정할 수 있습니다. lpFormatNULL로 설정되지 않은 경우 함수는 그림 문자열 서식에 지정되지 않은 정보에 대해서만 로캘을 사용합니다.

의미
d
h 또는 H
시간
hh 또는 HH
시간; 10보다 작으면 앞에 선행 0을 추가합니다.
m
minutes
MM
분; 10보다 작으면 앞에 선행 0을 추가합니다.
s
ss
초; 10보다 작으면 앞에 선행 0을 추가합니다.
f
초의 분수
참고 주파수 타이머에 대한 지원은 100나노초로 제한되지만 문자 "f"는 최대 9회 연속으로 발생할 수 있습니다(fffffffff). 따라서 9개의 문자가 있는 경우 마지막 두 자리는 항상 0입니다.
 

[out, optional] lpDurationStr

함수가 기간 문자열을 검색하는 버퍼에 대한 포인터입니다.

또는 cchDuration이 0으로 설정된 경우 이 매개 변수는 NULL을 검색합니다. 이 경우 함수는 기간 문자열 버퍼에 필요한 크기를 반환합니다.

[in] cchDuration

lpDurationStr로 표시된 버퍼의 크기(문자)입니다.

또는 애플리케이션에서 이 매개 변수를 0으로 설정할 수 있습니다. 이 경우 함수는 lpDurationStr에서 NULL을 검색하고 기간 문자열 버퍼에 필요한 크기를 반환합니다.

반환 값

성공하면 lpDurationStr 로 표시된 버퍼에서 검색된 문자 수를 반환합니다. lpDurationStrNULL로 설정되고 cchDuration이 0으로 설정된 경우 함수는 종료 null 문자를 포함하여 기간 문자열 버퍼에 필요한 크기를 반환합니다. 예를 들어 버퍼에 10자를 쓰는 경우 함수는 종료 null 문자를 포함하도록 11을 반환합니다.

함수가 성공하지 못하면 0을 반환합니다. 확장된 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있으며, 다음 오류 코드 중 하나를 반환할 수 있습니다.

  • ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.
  • ERROR_INVALID_PARAMETER. 매개 변수 값이 잘못되었습니다.

설명

이 함수는 파일 시간을 표시하는 멀티미디어 애플리케이션 및 완료 시간을 표시하는 스포츠 이벤트 애플리케이션과 함께 사용할 수 있습니다.

함수는 SYSTEMTIME 구조체의 처음 세 멤버인 wYear, wMonthwDayOfWeek을 무시합니다.

이 함수는 사용자 지정 로캘에서 데이터를 검색할 수 있습니다. 데이터가 컴퓨터에서 컴퓨터로 또는 애플리케이션 실행 간에 동일하지는 않습니다. 애플리케이션이 데이터를 유지하거나 전송해야 하는 경우 영구 로캘 데이터 사용을 참조하세요.

기간 형식 문자열의 특징은 다음과 같습니다.

  • 서식 문자는 소문자입니다.
    참고 (H)가 GetTimeFormatEx와 일치하도록 예외가 발생합니다.
     
  • 값이 10보다 작은 경우 시간, 분 및 초의 두 자리 서식 문자열 앞에 선행 0이 추가됩니다.
  • 첫 번째 출력 필드에는 경계 테스트가 적용되지 않습니다(시간<24, 분<60, 초<60, 밀리초<1000). 일 수에는 경계 테스트가 적용되지 않습니다.
  • 함수는 모든 형식 문자열이 필드 크기(예: 시간, 분, 초, 밀리초)를 줄인다고 가정합니다.
  • 표시할 첫 번째 필드는 형식 문자열에 정의된 대로 정규화됩니다. 예를 들어 애플리케이션이 310초를 지정하고 형식 문자열이 m:ss인 경우 출력은 5:10입니다. 그러나 형식 문자열이 분 및 초를 지정하지만 애플리케이션에서 시간을 지정하는 경우 분 필드는 그에 따라 조정됩니다.
  • 소수 자릿수가 첫 번째 필드가 아닌 경우 형식 문자열의 "f" 문자 수는 표시할 10진수(9로 제한)를 나타냅니다. 소수 자릿수가 첫 번째 필드인 경우 "f" 문자 수는 1초 미만의 유효 자릿수를 나타냅니다.
  • 라운드오프는 5회 반올림 및 4라운드 다운 규칙이 아니라 잘림에 의해 발생합니다.
  • 작은따옴표는 문자를 이스케이프하는 데 사용됩니다.
Windows 8 시작: 앱이Windows.Globalization 네임스페이스에서 이 함수에 언어 태그를 전달하는 경우 먼저 ResolveLocaleName을 호출하여 태그를 변환해야 합니다.

다음은 지정된 기간에 대한 기간 형식 및 해당 출력의 예입니다.

SYSTEMTIME = 14일, 2시간, 45분, 12초 및 247밀리초

서식 출력
d:hh:mm:ss 14:02:45:12
hh:mm:ss:ff 338:45:12:24
hh:mm:ss:fff 338:45:12:247
h' h 'mm' m 'ss' s' 338 h 45 m 12 s
 

SYSTEMTIME = 345초

서식 출력
hh:mm:ss 00:05:45
h:mm:ss 0:05:45
mm:ss 05:45
m:ss 5:45
mm' m 'ss' s' 05 m 45 s
ss 345
ss'초' 345초
 

uulDuration = 51234567(5.1234567초)

서식 출력
s.fff 5.123
s.ffffff 5.123456
s.fffffffff 5.123456700(후행 0 추가)
fff 'ms' 5123ms
ffffff '마이크로초' 5123456 마이크로초
fffffffff 'ns' 5123456700 ns

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winnls.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

GetDateFormatEx

GetDurationFormat

GetLocaleInfoEx

GetTimeFormatEx

국가 언어 지원

국가 언어 지원 함수