다음을 통해 공유


시간 및 날짜 정보 검색

이 항목에는 애플리케이션에서 NLS 함수를 사용하여 시간 및 날짜 정보 및 기간 데이터를 검색하는 방법에 대한 지침이 포함되어 있습니다. 애플리케이션이 데이터를 유지해야 하는 경우 영구 로캘 데이터 사용을 참조하세요.

Windows Vista 이상: 이 항목에서 설명하는 함수는 사용자 지정 로캘에서 데이터를 검색할 수 있습니다. 특히 시간 및 날짜 형식을 사용자 지정하는 데 사용할 수 있습니다. 예를 들어 "hhHmm'ss'"와 같은 시간 형식을 가질 수 있으므로 "12H34'12''"와 같은 시간 문자열이 생성됩니다.

시간 정보 검색

애플리케이션은 GetTimeFormat 및 GetTimeFormatEx 함수를 사용하여 현재 로캘에 적합한 형식으로 언제든지 문자열 가져올 수 있습니다. 두 함수는 유효한 SYSTEMTIME 구조체의 각 시간 값을 검사하여 구조체의 날짜 부분을 무시하고 적절한 값 범위 내에 있는지 확인합니다. 시간 값이 올바른 범위를 벗어나면 코드 ERROR_INVALID_PARAMETER 함수가 실패합니다. 함수는 잘못된 형식 문자열에 대한 오류를 반환하지 않고 가능한 최상의 시간 문자열을 형성합니다.

참고

NLS 시간 함수에는 서식이 지정된 시간 문자열의 일부로 밀리초가 포함되지 않습니다.

 

실제 서식을 수행하지 않고 시간 형식을 가져오려면 애플리케이션에서 GetLocaleInfo 또는 GetLocaleInfoEx 함수를 사용하여 호출에서 LOCALE_STIMEFORMAT 상수를 지정할 수 있습니다.

시간 표식 사용

시간 표식의 예로는 영어(미국)의 경우 "AM" 및 "PM", 스페인어(멕시코)의 경우 "de." 및 "du."가 있습니다. GetTimeFormat 또는 GetTimeFormatEx 호출에서 TIME_NOTIMEMARKER 지정한 경우 함수는 시간 표식 앞과 다음 구분 기호를 제거합니다. 시간 표식이 있고 호출에서 TIME_NOTIMEMARKER 플래그가 설정되지 않은 경우 함수는 지정된 로캘 식별자를 기반으로 시간 마커를 지역화합니다.

분 및 초 앞의 구분 기호 제거

애플리케이션은 분 및/또는 초 요소 다음에 구분 기호를 제거하기 위해 지정된 TIME_NOMINUTESORSECONDS 또는 TIME_NOSECONDS 사용하여 GetTimeFormat 또는 GetTimeFormatEx 를 호출할 수 있습니다.

24시간 형식 사용

애플리케이션이 24시간 형식을 지원하는 경우 TIME_FORCE24HOURFORMAT 사용하여 GetTimeFormat 또는 GetTimeFormatEx 를 호출할 수 있습니다. TIME_NOTIMEMARKER 플래그를 설정하지 않으면 함수는 기존 시간 표식을 표시합니다.

날짜 정보 검색

애플리케이션은 GetDateFormat 및 GetDateFormatEx 함수를 사용하여 현재 로캘에 적합한 형식으로 모든 날짜에 대한 문자열을 검색 수 있습니다. 두 함수는 구조체의 시간 부분을 무시하고 유효한 SYSTEMTIME 구조에서 각 날짜 값 연도, 월, 일 및 요일을 확인합니다. 일 이름, 축약된 일 이름, 월 이름 및 약식 월 이름은 모두 로캘 식별자를 기반으로 지역화됩니다. 요일이 올바르지 않으면 함수는 올바른 값을 사용하고 오류를 반환하지 않습니다. 다른 날짜 값이 올바른 범위를 벗어나면 코드 ERROR_INVALID_PARAMETER 함께 함수가 실패합니다. 함수는 잘못된 형식 문자열에 대한 오류를 반환하지 않고 가능한 최상의 날짜 문자열을 형성합니다.

애플리케이션에 특정 일정의 날짜 형식이 필요한 경우 GetCalendarInfo 또는 GetCalendarInfoEx를 사용하여 적절한 일정 식별자를 전달해야 합니다. 특정 일정에 대한 모든 날짜 형식을 반환하기 위해 애플리케이션은 EnumCalendarInfoEx, EnumCalendarInfoExEx, EnumDateFormatsEx 또는 EnumDateFormatsEx를 사용할 수 있습니다.

대체 일정 지정

애플리케이션은 플래그 DATE_USE_ALT_CALENDAR GetDateFormat 또는 GetDateFormatEx 를 호출하여 지정된 대체 일정의 기본 형식을 사용할 수 있습니다. 대체 달력에 대한 기본 형식이 없는 경우 함수는 사용자 재정의를 사용합니다.

대체 일정의 날짜 형식을 가져오기 위해 애플리케이션은 LOCALE_IOPTIONALCALENDAR 상수와 함께 GetLocaleInfo 또는 GetLocaleInfoEx를 사용할 수 있습니다.

날짜 유형 지정

애플리케이션이 짧은 날짜 형식을 사용하려는 경우 GetDateFormat 또는 GetDateFormatEx 호출에서 DATE_SHORTDATE 지정합니다. 함수 호출에서 DATE_LONGDATE 지정하여 긴 날짜 형식을 가져올 수 있습니다. 플래그를 지정하지 않았고 lpFormatNULL로 설정된 경우 함수는 기본값으로 DATE_SHORTDATE 사용합니다.

기본 로캘 달력에 대한 짧고 긴 날짜 형식을 가져오려면 애플리케이션은 LOCALE_SSHORTDATE 또는 LOCALE_SLONGDATE 상수와 함께 GetLocaleInfo 또는 GetLocaleInfoEx 함수를 사용해야 합니다.

날짜 서식 그림 지정

애플리케이션은 GetDateFormat 또는 GetDateFormatEx 날짜 문자열을 형성하는 데 사용하는 날짜 서식 그림을 지정할 수 있습니다. 지정된 로캘의 날짜 형식이 필요한 경우 애플리케이션은 lpFormatNULL로 설정된 함수를 호출할 수 있습니다. 매개 변수가 NULL로 설정되지 않은 경우 함수는 그림 문자열 형식에 지정되지 않은 정보(예: 로캘의 일 및 월 이름)에 대해서만 로캘을 사용합니다.

애플리케이션은 작은따옴표 안에 정확한 형식으로 유지되어야 하는 텍스트를 묶을 수 있습니다. 단일 따옴표는 날짜 문자열에 표시할 수 있도록 이스케이프 문자로 사용할 수도 있습니다. 그러나 이스케이프 시퀀스는 작은따옴표로 묶어야 합니다. 예를 들어 날짜를 "5월 93일"로 표시하려면 형식 문자열은 "MMMM ''''yy "입니다.

기간 정보 검색

Windows Vista 이상:GetDurationFormatGetDurationFormatEx 함수를 사용하여 사용자 지정 로캘을 포함한 로캘의 기간 형식을 가져올 수 있습니다. 로캘의 기본 기간 형식을 가져오려면 애플리케이션은 LOCALE_SDURATION 상수와 함께 GetLocaleInfo 또는 GetLocaleInfoEx 함수를 사용해야 합니다.

국가 언어 지원 사용

시간 및 날짜

영구 로캘 데이터 사용