Sdílet prostřednictvím


Načítání informací o čase a datu

Tato část obsahuje pokyny pro použití funkcí NLS ve vašich aplikacích pro získání informací o čase a datu a také údajů o době trvání. Pokud aplikace musí uchovávat data, přečtěte si téma Použití trvalých dat národního prostředí.

Windows Vista a novější: Funkce popsané v tomto tématu mohou načítat data z vlastních lokalit. Konkrétně je možné je použít k přizpůsobení formátu času a data. Je například možné mít formát času, například "hhHmm'ss'", což vede k časovým řetězcům, jako je "12H34'12''".

Získat časové informace

Aplikace může kdykoli získat řetězce ve formátu, který je vhodný pro aktuální národní prostředí, pomocí funkcí GetTimeFormat a GetTimeFormatEx. Každá funkce zkontroluje každý z časových údajů ve struktuře SYSTEMTIME pro určení, zda je v příslušném rozsahu hodnot, přičemž ignoruje části kalendářních dat struktury. Pokud jsou některé z časových hodnot mimo správný rozsah, funkce selže s kódem ERROR_INVALID_PARAMETER. Funkce nevrací žádné chyby pro chybný formátovací řetězec, ale jednoduše tvoří nejlepší možný časový řetězec.

Poznámka

Funkce času služby NLS nezahrnují milisekundy jako součást formátovaného časového řetězce.

 

Chcete-li získat formát času bez provedení skutečného formátování, může aplikace použít GetLocaleInfo nebo GetLocaleInfoEx funkce, která určuje LOCALE_STIMEFORMAT konstantu ve volání.

použít časové značky

Příklady časových značek jsou "AM" a "PM" pro angličtinu (Spojené státy) a "de" a "du" pro španělštinu (Mexiko). Pokud je TIME_NOTIMEMARKER zadán ve volání GetTimeFormat nebo GetTimeFormatEx, funkce odstraní oddělovače před a za časovou značkou. Pokud existuje časová značka a příznak TIME_NOTIMEMARKER není nastaven ve volání, funkce lokalizuje časovou značku na základě zadaného identifikátoru národního prostředí.

Odeberte oddělovače před minutami a sekundami

Aplikace může volat GetTimeFormat nebo GetTimeFormatEx s TIME_NOMINUTESORSECONDS nebo TIME_NOSECONDS, aby se odebraly oddělovače za minutami nebo sekundami.

použít 24hodinový formát času

Pokud vaše aplikace podporuje 24hodinový formát času, může volat GetTimeFormat nebo GetTimeFormatEx s TIME_FORCE24HOURFORMAT. Pokud není nastavený příznak TIME_NOTIMEMARKER, funkce zobrazí všechny stávající časové značky.

Získejte informace o datu

Aplikace může načíst řetězce pro libovolné datum ve formátu, který je vhodný pro aktuální národní prostředí, pomocí GetDateFormat a GetDateFormatEx funkcí. Každá funkce kontroluje každou z hodnot kalendářních dat rok, měsíc, den a den v týdnu v platné SYSTEMTIME struktuře bez ohledu na časové části struktury. Název dne, zkrácený název dne, název měsíce a zkrácený název měsíce, jsou lokalizovány na základě identifikátoru národního prostředí. Pokud je den v týdnu nesprávný, funkce použije správnou hodnotu a nevrátí žádnou chybu. Pokud jsou některé z dalších hodnot kalendářních dat mimo správný rozsah, funkce selže s kódem ERROR_INVALID_PARAMETER. Funkce nevrátí žádné chyby, když je použit vadný formátovací řetězec, ale jednoduše vytvoří nejlepší možný řetězec data.

Pokud aplikace vyžaduje formát data pro určitý kalendář, měla by použít GetCalendarInfo nebo GetCalendarInfoExa předáním příslušného identifikátoru kalendáře. Chcete-li vrátit všechny formáty kalendářních dat pro určitý kalendář, může aplikace použít EnumCalendarInfoEx, EnumCalendarInfoEx, EnumDateFormatsExnebo EnumDateFormatsEx.

Zadání alternativního kalendáře

Aplikace může volat GetDateFormat nebo GetDateFormatEx s příznakem DATE_USE_ALT_CALENDAR pro použití výchozího formátu pro zadaný alternativní kalendář. Pokud pro alternativní kalendář neexistuje výchozí formát, funkce použije uživatelská nastavení.

K získání formátu data pro alternativní kalendář může aplikace použít GetLocaleInfo nebo GetLocaleInfoEx s konstantou LOCALE_IOPTIONALCALENDAR.

zadat typ data

Pokud aplikace chce použít krátký formát data, určuje DATE_SHORTDATE ve volání GetDateFormat nebo GetDateFormatEx. Dlouhý formát data lze získat zadáním DATE_LONGDATE ve volání funkce. Pokud není zadán žádný příznak a lpFormat je nastavena na NULL, funkce použije DATE_SHORTDATE jako výchozí.

Chcete-li získat krátký a dlouhý formát data výchozího kalendáře národního prostředí, měla by aplikace použít funkci GetLocaleInfo nebo GetLocaleInfoEx funkce s LOCALE_SSHORTDATE nebo LOCALE_SLONGDATE konstantou.

Specifikujte formát obrázku pro datum

Aplikace může zadat obrázek formátu data, který GetDateFormat nebo GetDateFormatEx používá k vytvoření řetězce kalendářního data. Pokud je požadován formát data pro zadané národní prostředí, aplikace může volat funkci s lpFormat nastavena na NULL. Pokud parametr není nastaven na NULL, funkce používá jazykovou lokalizaci pouze pro informace, které nejsou specifikovány ve formátovacím řetězci, například názvy dnů a měsíců podle místní jazykové lokalizace.

Aplikace může uzavřít libovolný text, který by měl zůstat ve své přesné podobě v jednoduchých uvozovkách. Jednoduchou uvozovku lze použít také jako řídicí znak, který umožní, aby se značka sama zobrazovala v řetězci kalendářního data. Řídicí sekvence však musí být uzavřena do dvou jednoduchých uvozovek. Pokud chcete například zobrazit datum jako "Květen '93", řetězec formátu je: "MMMM ''yy ".

Získání informací o době trvání

Windows Vista a novějších verzích: Funkce GetDurationFormat a GetDurationFormat Ex jsou k dispozici pro získání formátů doby trvání pro národní prostředí, včetně vlastních národních prostředí. K získání výchozího formátu doby trvání pro národní prostředí by aplikace měla použít GetLocaleInfo nebo GetLocaleInfoEx funkce s konstantou LOCALE_SDURATION.

Použití podpory národního jazyka

čas a datum

Používání trvalých dat národního prostředí