Utility FunctionsFormatting

formatDateTime

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

Vue d’ensemble

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

import { formatDateTime } from 'generaltranslation';

const formatted = formatDateTime(new Date(), {
  locales: 'de-DE',
  dateStyle: 'medium',
  timeStyle: 'short'
});
// Retourne : "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 formatées selon les conventions du locale.


Exemple

Utilisation de base

import { formatDateTime } from 'generaltranslation';

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

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

// Plusieurs locales de secours
console.log(formatDateTime(date, { 
  locales: ['ja-JP', 'en-US'] 
}));
// Résultat : "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'
}));
// Résultat : "Thursday, March 14, 2024"

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

// Format court pour différentes locales
const locales = ['en-US', 'de-DE', 'ja-JP'];
locales.forEach(locale => {
  console.log(`${locale}: ${formatDateTime(date, {
    locales: locale,
    dateStyle: 'short',
    timeStyle: 'short'
  })}`);
});
// Résultat :
// 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');

// Formater 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, utilise par défaut la locale du système
  • Utilise le même Intl.DateTimeFormat sous-jacent que la méthode de la GT class
  • Les résultats sont mis en cache en interne pour des performances optimales avec des combinaisons répétées locale/options
  • 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 locales ont des formats de date/heure par défaut et des préférences 12 heures vs 24 heures différents

Prochaines étapes

Comment trouvez-vous ce guide ?