Utility FunctionsFormatting

formatDateTime

Fonction autonome pour formater les dates et les heures selon les conventions de la locale

Aperçu

La fonction autonome formatDateTime formate les dates et les heures selon les conventions propres à chaque locale, sans nécessiter d’instance de GT. Elle offre les mêmes fonctionnalités que la méthode de la classe GT, mais peut être utilisée indépendamment.

import { formatDateTime } from 'generaltranslation';

const formatted = formatDateTime(new Date(), {
  locales: 'de-DE',
  dateStyle: 'medium',
  timeStyle: 'short'
});
// Renvoie : "26.09.2025, 17:33"

Références

Paramètres

NomTypeDescription
dateDateL’objet Date à formater
optionsDateTimeFormatOptions & { locales?: string | string[] }Configuration de formatage avec des locales facultatives

DateTimeFormatOptions

NomTypeDescription
locales?string | string[]Locales pour le formatage (par défaut : la locale du système)
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
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
hour?'numeric' | '2-digit'Représentation de l’heure
minute?'numeric' | '2-digit'Représentation de la minute
second?'numeric' | '2-digit'Représentation de la seconde
timeZone?stringIdentifiant de fuseau horaire IANA
hour12?booleanIndique s’il faut utiliser le format 12 heures

Renvoie

string - La date et l’heure mises en forme selon les conventions de la locale.


Exemple

Utilisation de base

import { formatDateTime } from 'generaltranslation';

// Formatage de base avec locale explicite
console.log(formatDateTime(date, { locales: 'en-US' }));
// Sortie : "3/14/2024"

// Formatage allemand
console.log(formatDateTime(date, { locales: 'de-DE' }));
// Sortie : "14.3.2024"

// Plusieurs locales de secours
console.log(formatDateTime(date, { 
  locales: ['ja-JP', 'en-US'] 
}));
// Sortie : "2024/3/14" (format japonais)

Styles de date et d’heure

const date = new Date('2024-03-14T14:30:45Z');

// Style de date complet
console.log(formatDateTime(date, {
  locales: 'en-US',
  dateStyle: 'full'
}));
// Sortie : "Thursday, March 14, 2024"

// Date longue avec heure courte
console.log(formatDateTime(date, {
  locales: 'fr-FR',
  dateStyle: 'long',
  timeStyle: 'short'
}));
// Sortie : "14 mars 2024 à 07:30"

// Format court dans plusieurs locales
const locales = ['en-US', 'de-DE', 'ja-JP'];
locales.forEach(locale => {
  console.log(`${locale}: ${formatDateTime(date, {
    locales: locale,
    dateStyle: 'short',
    timeStyle: 'short'
  })}`);
});
// Sortie :
// en-US: 3/14/24, 7:30 AM
// de-DE: 14.03.24, 07:30
// ja-JP: 2024/03/14 7:30

Gestion des fuseaux horaires

const date = new Date('2024-03-14T14:30:45Z');

// Formatage pour différents fuseaux horaires
const timeZones = [
  'America/New_York',
  'Europe/London', 
  'Asia/Tokyo'
];

timeZones.forEach(timeZone => {
  const formatted = formatDateTime(date, {
    locales: 'en-US',
    timeZone,
    dateStyle: 'medium',
    timeStyle: 'medium'
  });
  console.log(`${timeZone}: ${formatted}`);
});
// Le résultat varie selon l'heure d'été

Notes

  • Le paramètre locales est facultatif et, s’il n’est pas fourni, la locale du système est utilisée par défaut
  • Utilise le même Intl.DateTimeFormat sous-jacent que la méthode de la classe GT
  • Les résultats sont mis en cache en interne pour de meilleures performances avec des combinaisons locale/options répétées
  • Toutes les options standard de Intl.DateTimeFormat sont prises en charge
  • Les fuseaux horaires sont correctement gérés lorsqu’ils sont spécifiés
  • Les différentes locales ont des formats de date/heure par défaut et des préférences 12 h vs 24 h différents

Prochaines étapes

Que pensez-vous de ce guide ?

formatDateTime