Partager via


Récupération des informations d’heure et de date

Cette rubrique contient des instructions sur l’utilisation des fonctions NLS dans vos applications pour récupérer des informations d’heure et de date , ainsi que des données de durée. Si votre application doit conserver les données, consultez Utilisation des données de paramètres régionaux persistants.

Windows Vista et versions ultérieures : Les fonctions décrites dans cette rubrique peuvent récupérer des données à partir de paramètres régionaux personnalisés. En particulier, ils peuvent être utilisés pour personnaliser les formats d’heure et de date. Par exemple, il est possible d’avoir un format d’heure tel que « hhHmm’ss'' », ce qui entraîne des chaînes de temps comme « 12H34'12'' ».

Récupérer les informations de temps

Votre application peut obtenir des chaînes à tout moment dans un format approprié pour les paramètres régionaux actuels à l’aide des fonctions GetTimeFormat et GetTimeFormatEx . L’une ou l’autre des fonctions vérifie chacune des valeurs d’heure dans une structure SYSTEMTIME valide pour déterminer qu’elle se trouve dans la plage de valeurs appropriée, en ignorant les parties de date de la structure. Si l’une des valeurs de temps est en dehors de la plage correcte, la fonction échoue avec le code ERROR_INVALID_PARAMETER. La fonction ne retourne aucune erreur pour une chaîne de format incorrecte, mais forme simplement la meilleure chaîne de temps possible.

Notes

Les fonctions de temps NLS n’incluent pas de millisecondes dans le cadre d’une chaîne de temps mise en forme.

 

Pour obtenir le format d’heure sans effectuer de mise en forme réelle, l’application peut utiliser la fonction GetLocaleInfo ou GetLocaleInfoEx , en spécifiant la constante LOCALE_STIMEFORMAT dans l’appel.

Utiliser des marqueurs de temps

Des exemples de marqueurs de temps sont « AM » et « PM » pour l’anglais (États-Unis) et « de . » pour l’espagnol (Mexique). Si TIME_NOTIMEMARKER est spécifié dans l’appel à GetTimeFormat ou GetTimeFormatEx, la fonction supprime le ou les séparateurs qui précèdent et suivent le marqueur d’heure. S’il existe un marqueur de temps et que l’indicateur TIME_NOTIMEMARKER n’est pas défini dans l’appel, la fonction localise le marqueur de temps en fonction de l’identificateur de paramètres régionaux spécifié.

Supprimer les séparateurs antérieurs aux minutes et aux secondes

Votre application peut appeler GetTimeFormat ou GetTimeFormatEx avec TIME_NOMINUTESORSECONDS ou TIME_NOSECONDS spécifié pour supprimer les séparateurs après les éléments minutes et/ou secondes.

Utiliser le format d’heure de 24 heures

Si votre application prend en charge le format horaire 24 heures, elle peut appeler GetTimeFormat ou GetTimeFormatEx avec TIME_FORCE24HOURFORMAT. Sauf si l’indicateur TIME_NOTIMEMARKER est défini, la fonction affiche n’importe quel marqueur d’heure existant.

Récupérer les informations de date

Une application peut récupérer des chaînes pour n’importe quelle date dans un format approprié pour les paramètres régionaux actuels à l’aide des fonctions GetDateFormat et GetDateFormatEx . Les deux fonctions vérifient chacune des valeurs de date année, mois, jour et jour de la semaine dans une structure SYSTEMTIME valide, en ignorant les parties temporelles de la structure. Le nom du jour, le nom du jour abrégé, le nom du mois et le nom du mois abrégé sont tous localisés en fonction de l’identificateur des paramètres régionaux. Si le jour de la semaine est incorrect, la fonction utilise la valeur correcte et ne retourne aucune erreur. Si l’une des autres valeurs de date se trouve en dehors de la plage correcte, la fonction échoue avec le code ERROR_INVALID_PARAMETER. La fonction ne retourne aucune erreur pour une chaîne de format incorrecte, mais forme simplement la meilleure chaîne de date possible.

Si l’application nécessite le format de date pour un calendrier particulier, elle doit utiliser GetCalendarInfo ou GetCalendarInfoEx, en transmettant l’identificateur de calendrier approprié. Pour renvoyer tous les formats de date d’un calendrier particulier, l’application peut utiliser EnumCalendarInfoEx, EnumCalendarInfoExEx, EnumDateFormatsEx ou EnumDateFormatsExEx.

Spécifier un autre calendrier

L’application peut appeler GetDateFormat ou GetDateFormatEx avec l’indicateur DATE_USE_ALT_CALENDAR pour utiliser le format par défaut pour l’autre calendrier spécifié. S’il n’existe aucun format par défaut pour l’autre calendrier, la fonction utilise les remplacements utilisateur.

Pour obtenir le format de date d’un autre calendrier, l’application peut utiliser GetLocaleInfo ou GetLocaleInfoEx avec la constante LOCALE_IOPTIONALCALENDAR .

Spécifier le type de date

Si l’application souhaite utiliser le format de date courte, elle spécifie DATE_SHORTDATE dans l’appel à GetDateFormat ou GetDateFormatEx. Vous pouvez obtenir un format de date longue en spécifiant DATE_LONGDATE dans l’appel de fonction. Si aucun indicateur n’est spécifié et que l’objet lpFormat a la valeur NULL, la fonction utilise DATE_SHORTDATE comme valeur par défaut.

Pour obtenir le format de date courte et longue du calendrier des paramètres régionaux par défaut, l’application doit utiliser la fonction GetLocaleInfo ou GetLocaleInfoEx avec la constante LOCALE_SSHORTDATE ou LOCALE_SLONGDATE .

Spécifier l’image format de date

L’application peut spécifier une image de format de date que GetDateFormat ou GetDateFormatEx utilise pour former la chaîne de date. Si le format de date pour les paramètres régionaux spécifiés est requis, l’application peut appeler la fonction avec lpFormat défini sur NULL. Si le paramètre n’est pas défini sur NULL, la fonction utilise les paramètres régionaux uniquement pour les informations non spécifiées dans la chaîne d’image de format, par exemple, les noms de jour et de mois pour les paramètres régionaux.

L’application peut inclure tout texte qui doit rester dans sa forme exacte entre guillemets simples. Un guillemet unique peut également être utilisé comme caractère d’échappement pour permettre à la marque elle-même d’être affichée dans la chaîne de date. Toutefois, la séquence d’échappement doit être placée entre deux guillemets simples. Par exemple, pour afficher la date sous la forme « May '93 », la chaîne de format est : « MMMM ''''yy ».

Récupérer les informations de durée

Windows Vista et versions ultérieures : Les fonctions GetDurationFormat et GetDurationFormatEx sont disponibles pour obtenir des formats de durée pour les paramètres régionaux, y compris les paramètres régionaux personnalisés. Pour obtenir le format de durée par défaut d’un paramètre régional, l’application doit utiliser la fonction GetLocaleInfo ou GetLocaleInfoEx avec la constante LOCALE_SDURATION .

Utilisation de la prise en charge des langues nationales

Heure et date

Utilisation des données de paramètres régionaux persistants