formatDateTime
Référence de l’API de la méthode formatDateTime pour formater les dates et les heures selon les conventions de la locale
Présentation
La méthode formatDateTime met en forme les dates et les heures selon les conventions propres à chaque locale à l’aide de l’API d’internationalisation.
Elle gère automatiquement les formats de date et d’heure, les calendriers et les fuseaux horaires en fonction de la locale cible.
const gt = new GT({ localeCible: 'de-DE' });
const formatted = gt.formatDateTime(new Date(), {
dateStyle: 'medium',
timeStyle: 'short'
});
// Retourne : « 25.09.2025, 18:06 » (format de date/heure allemand)Références
Paramètres
| Nom | Type | Description |
|---|---|---|
date | Date | L’objet Date à formater |
options? | DateTimeFormatOptions | Configuration de formatage optionnelle |
DateTimeFormatOptions
Étend Intl.DateTimeFormatOptions avec une spécification de locale supplémentaire :
| Nom | Type | Description |
|---|---|---|
locales? | string | string[] | Remplace les locales pour le formatage (par défaut : celles de l’instance) |
localeMatcher? | 'lookup' | 'best fit' | Algorithme de correspondance de locale (par défaut : 'best fit') |
dateStyle? | 'full' | 'long' | 'medium' | 'short' | Style global de formatage de la date |
timeStyle? | 'full' | 'long' | 'medium' | 'short' | Style global de formatage de l’heure |
weekday? | 'long' | 'short' | 'narrow' | Représentation du jour de la semaine |
era? | 'long' | 'short' | 'narrow' | Représentation de l’ère |
year? | 'numeric' | '2-digit' | Représentation de l’année |
month? | 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' | Représentation du mois |
day? | 'numeric' | '2-digit' | Représentation du jour |
dayPeriod? | 'narrow' | 'short' | 'long' | Formatage de la période de la journée (matin, après-midi, etc.) |
hour? | 'numeric' | '2-digit' | Représentation de l’heure |
minute? | 'numeric' | '2-digit' | Représentation des minutes |
second? | 'numeric' | '2-digit' | Représentation des secondes |
fractionalSecondDigits? | 1 | 2 | 3 | Nombre de chiffres des secondes fractionnaires |
timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Format du nom du fuseau horaire |
timeZone? | string | Identifiant de fuseau horaire IANA |
hour12? | boolean | Indique s’il faut utiliser le format sur 12 heures |
hourCycle? | 'h11' | 'h12' | 'h23' | 'h24' | Préférence de cycle horaire |
calendar? | string | Système de calendrier à utiliser |
numberingSystem? | string | Système de numération utilisé pour les chiffres |
formatMatcher? | 'basic' | 'best fit' | Algorithme de correspondance de format (par défaut : 'best fit') |
Renvoie
string - Date et heure formatées selon les conventions de la locale.
Exemples
Formatage de base des dates et des heures
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
const date = new Date('2024-03-14T14:30:45Z');
// Formatage de date basique (utilise les options par défaut)
console.log(gt.formatDateTime(date));
// Résultat : "3/14/2024"
// Formatage avec la locale allemande
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Résultat : "14.3.2024"
// Formatage avec la locale japonaise
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Résultat : "2024/3/14"Styles de date et d’heure
const date = new Date('2024-03-14T14:30:45Z');
// Style de date complet
console.log(gt.formatDateTime(date, { dateStyle: 'full' }));
// Résultat : "Thursday, March 14, 2024"
// Date longue avec heure courte
console.log(gt.formatDateTime(date, {
dateStyle: 'long',
timeStyle: 'short'
}));
// Résultat : "March 14, 2024 at 7:30 AM"
// Composants de date personnalisés
console.log(gt.formatDateTime(date, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
// Résultat : "Thursday, March 14, 2024"Fuseau horaire et format de l’heure
const date = new Date('2024-03-14T14:30:45Z');
// Forcer le format 12 heures
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: true
}));
// Résultat : "7:30 AM"
// Forcer le format 24 heures
console.log(gt.formatDateTime(date, {
hour: 'numeric',
minute: '2-digit',
hour12: false
}));
// Résultat : "07:30"
// Fuseau horaire spécifique
console.log(gt.formatDateTime(date, {
timeZone: 'America/New_York',
dateStyle: 'medium',
timeStyle: 'short'
}));
// Résultat : "Mar 14, 2024, 10:30 AM"Notes
- Le formatage des dates respecte automatiquement les conventions propres au locale
- La méthode utilise l’API native du navigateur
Intl.DateTimeFormatpour des performances et une précision optimales - Les fuseaux horaires sont correctement pris en charge lorsqu’ils sont spécifiés
Méthodes associées
- Consultez la documentation de
Intl.DateTimeFormatpour davantage d’options - Voir
formatRelativeTimepour le formatage des dates relatives (« il y a 2 jours ») - Voir
formatMessagepour le formatage de messages avec interpolation de date - Voir la fonction autonome
formatDateTimepour une utilisation sans instance de GT - Voir
getLocalePropertiespour des informations de calendrier propres au locale
Prochaines étapes
- Consultez le Guide de formatage pour des stratégies complètes de formatage des dates et des heures
- Consultez le Guide d’internationalisation pour une gestion des dates adaptée au locale
Comment trouvez-vous ce guide ?