formatDateTime
Référence de l’API pour la méthode formatDateTime, qui formate les dates et les heures selon les conventions du locale
Vue d’ensemble
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, les formats 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" (formatage de date/heure allemand)Références
Paramètres
| Nom | Type | Description | 
|---|---|---|
| date | Date | L’objet Date à formater | 
| options? | DateTimeFormatOptions | Paramètres de formatage optionnels | 
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 : locales 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 pour les fractions de seconde | 
| timeZoneName? | 'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric' | Format du nom de fuseau horaire | 
| timeZone? | string | Identifiant de fuseau horaire IANA | 
| hour12? | boolean | Indique s’il faut utiliser le format 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 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 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));
// Sortie : "3/14/2024"
// Formatage avec la locale allemande
console.log(gt.formatDateTime(date, { locales: 'de-DE' }));
// Sortie : "14.3.2024"
// Formatage avec la locale japonaise
console.log(gt.formatDateTime(date, { locales: 'ja-JP' }));
// Sortie : "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 suit 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 d’Intl.DateTimeFormatpour davantage d’options
- Voir formatRelativeTimepour le formatage de 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 à la 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 tenant compte du locale
Que pensez-vous de ce guide ?

