시간 및 날짜 정보 검색
이 항목에는 애플리케이션에서 NLS 함수를 사용하여 기간 데이터뿐만 아니라 시간 및 날짜 정보를 검색하는 방법에 대한 지침이 포함되어 있습니다. 애플리케이션에서 데이터를 지속적으로 저장해야 하는 경우, 영구 로캘 데이터 사용하기을 참조하세요.
Windows Vista 이상: 이 항목에서 설명하는 함수는 사용자 지정 로캘에서 데이터를 검색할 수. 특히 시간 및 날짜 형식을 사용자 지정하는 데 사용할 수 있습니다. 예를 들어 "hhHmm'ss''"와 같은 시간 형식을 사용할 수 있으므로 "12H34'12'"와 같은 시간 문자열이 생성됩니다.
시간 정보 검색
애플리케이션은 getTimeFormatGetTimeFormatEx함수를사용하여 현재 로캘에 적합한 형식으로 언제든지 문자열을 가져올 수 있습니다. 두 함수는 유효한 SYSTEMTIME 구조체의 각 시간 값을 검사하여 구조체의 날짜 부분을 무시하고 적절한 값 범위 내에 있는지 확인합니다. 시간 값이 올바른 범위를 벗어나면 코드 ERROR_INVALID_PARAMETER 함수가 실패합니다. 함수는 잘못된 형식 문자열에 대한 오류를 반환하지 않고 가능한 최상의 시간 문자열을 형성합니다.
메모
NLS 시간 함수는 서식이 지정된 시간 문자열의 일부로 밀리초를 포함하지 않습니다.
실제 서식을 수행하지 않고 시간 형식을 가져오기 위해 애플리케이션은 GetLocaleInfo 또는 GetLocaleInfoEx 함수를 사용하여 호출에서 LOCALE_STIMEFORMAT 상수를 지정할 수 있습니다.
시간 표시기 사용
시간 표식의 예로는 영어(미국)의 경우 "AM" 및 "PM", 스페인어(멕시코)의 경우 "de." 및 "du."가 있습니다. GetTimeFormat또는 getTimeFormatEx호출에서 TIME_NOTIMEMARKER 지정된 경우 함수는 시간 표식 앞과 뒤의 구분 기호를 제거합니다. 시간 표식이 있고 TIME_NOTIMEMARKER 플래그가 호출에 설정되지 않은 경우 함수는 지정된 로캘 식별자를 기반으로 시간 표식을 지역화합니다.
분 및 초 앞의 구분 기호 제거
애플리케이션은 에서과 같이 GetTimeFormat을 호출하거나, 에서과 같이 GetTimeFormatEx을 호출할 수 있습니다. 이때, TIME_NOMINUTESORSECONDS 또는 TIME_NOSECONDS를 사용하여 분 및/또는 초 요소 뒤의 구분 기호를 제거할 수 있습니다.
24시간 형식을 사용
애플리케이션이 24시간 형식을 지원하는 경우 getTimeFormat호출하거나 TIME_FORCE24HOURFORMAT 사용하여 GetTimeFormatEx수 있습니다. TIME_NOTIMEMARKER 플래그를 설정하지 않으면 함수는 기존 시간 표식을 표시합니다.
날짜 정보 검색
애플리케이션은 getDateFormatGetDateFormatEx함수를사용하여 현재 로캘에 적합한 형식으로 모든 날짜에 대한 문자열을 검색할 수 있습니다. 두 함수는 구조체의 시간 부분을 무시하고 유효한 SYSTEMTIME 구조체에서 각 날짜 값 연도, 월, 일 및 요일을 확인합니다. 일 이름, 축약된 일 이름, 월 이름 및 약식 월 이름은 모두 로캘 식별자를 기반으로 지역화됩니다. 요일이 올바르지 않으면 함수는 올바른 값을 사용하고 오류를 반환하지 않습니다. 다른 날짜 값이 올바른 범위를 벗어나면 코드 ERROR_INVALID_PARAMETER 함수가 실패합니다. 함수는 잘못된 형식 문자열에 대한 오류를 반환하지 않고 가능한 최상의 날짜 문자열을 형성합니다.
애플리케이션에 특정 일정에 대한 날짜 형식이 필요한 경우 GetCalendarInfo또는 GetCalendarInfoEx사용하여 적절한 일정 식별자전달해야 합니다. 특정 일정에 대한 모든 날짜 형식을 반환하기 위해 애플리케이션은 EnumCalendarInfoEx, EnumCalendarInfoExEx, EnumDateFormatsEx또는 EnumDateFormatsEx사용할 수 있습니다.
대체 일정 지정
애플리케이션은 getDateFormat호출하거나 플래그 DATE_USE_ALT_CALENDAR 사용하여 GetDateFormatEx지정한 대체 달력의 기본 형식을 사용할 수 있습니다. 대체 달력에 대한 기본 형식이 없는 경우 함수는 사용자 재정의를 사용합니다.
대체 일정의 날짜 형식을 가져오기 위해 애플리케이션은 getLocaleInfo사용하거나 LOCALE_IOPTIONALCALENDAR 상수와 함께 GetLocaleInfoEx사용할 수 있습니다.
날짜 유형 지정
애플리케이션이 짧은 날짜 형식을 사용하려면 GetDateFormat또는 GetDateFormatEx함수를 호출할 때 DATE_SHORTDATE를 지정해야 합니다. 함수 호출에서 DATE_LONGDATE 지정하여 긴 날짜 형식을 가져올 수 있습니다. 두 플래그를 모두 지정하지 않고 lpFormat이 NULL로 설정되면, 함수는 기본값으로 DATE_SHORTDATE를 사용합니다.
기본 로캘 달력의 짧고 긴 날짜 형식을 가져오려면 애플리케이션은 GetLocaleInfo 함수나 GetLocaleInfoEx 함수를 LOCALE_SSHORTDATE 또는 LOCALE_SLONGDATE 상수와 함께 사용해야 합니다.
날짜 서식 그림 지정
애플리케이션은 GetDateFormat 또는 GetDateFormatEx가 날짜 문자열을 형성할 때 사용하는 날짜 형식 그림을 지정할 수 있습니다. 지정된 로캘의 날짜 형식이 필요한 경우, 애플리케이션은 lpFormat을 NULL로 설정하여 함수를 호출할 수 있습니다. 매개 변수가 NULL 설정되지 않은 경우 함수는 그림 형식 문자열에 지정되지 않은 정보(예: 로캘의 날짜 및 월 이름)에 대해서만 로캘을 사용합니다.
애플리케이션은 작은따옴표 안에 정확한 형식으로 유지해야 하는 텍스트를 묶을 수 있습니다. 단일 따옴표는 따옴표 자체를 날짜 문자열에 표시할 수 있도록 이스케이프 문자로 사용할 수도 있습니다. 그러나 이스케이프 시퀀스는 두 개의 작은따옴표로 묶어야 합니다. 예를 들어 날짜를 "5월 '93"으로 표시하려면 형식 문자열은 "MMMM ''''yy"입니다.
기간 정보 검색
Windows Vista 및 이후 버전: 함수를 사용하여 GetDurationFormat및 GetDurationFormatEx사용자 지정 로캘을 포함한 로캘의 기간 형식을 가져올 수 있습니다. 로캘의 기본 기간 형식을 가져오려면 애플리케이션은 GetLocaleInfo 또는 GetLocaleInfoEx 함수를 LOCALE_SDURATION 상수와 함께 사용해야 합니다.
관련 항목