GT ClassMethodsFormatting

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

NomTypeDescription
dateDateL’objet Date à formater
options?DateTimeFormatOptionsParamètres de formatage optionnels

DateTimeFormatOptions

Étend Intl.DateTimeFormatOptions avec une spécification de locale supplémentaire :

NomTypeDescription
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 | 3Nombre de chiffres pour les fractions de seconde
timeZoneName?'long' | 'short' | 'longOffset' | 'shortOffset' | 'longGeneric' | 'shortGeneric'Format du nom de fuseau horaire
timeZone?stringIdentifiant de fuseau horaire IANA
hour12?booleanIndique s’il faut utiliser le format 12 heures
hourCycle?'h11' | 'h12' | 'h23' | 'h24'Préférence de cycle horaire
calendar?stringSystème de calendrier à utiliser
numberingSystem?stringSystè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.DateTimeFormat pour 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

Prochaines étapes

Que pensez-vous de ce guide ?

formatDateTime