Extraits de code de timestamp Unix

Du code prêt à l'emploi pour travailler avec les timestamps Unix dans 9 langages de programmation et bases de données. Couvre l'obtention du timestamp actuel, la conversion en date et le formatage de la sortie.

À propos de ces exemples de code

Tous les exemples utilisent la valeur 1700000000 comme timestamp Unix d'exemple en secondes, ce qui correspond au 15 novembre 2023 06:13:20 UTC. Remplacez-la par votre propre timestamp. Les exemples en millisecondes utilisent 1700000000000 (le même instant × 1000).

Secondes vs millisecondes selon le langage

L'erreur la plus courante est de confondre secondes et millisecondes. Utilisez cette référence rapide :

  • Millisecondes (× 1000) : JavaScript Date.now(), Java System.currentTimeMillis(), C# DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
  • Secondes (÷ 1000 pour comparer avec JS) : Python time.time(), PHP time(), Go time.Now().Unix(), Ruby Time.now.to_i, Rust SystemTime::now().as_secs()
  • SQL : MySQL UNIX_TIMESTAMP() → secondes ; PostgreSQL EXTRACT(EPOCH) → secondes avec partie fractionnaire

Utiliser ces snippets en toute sécurité

Chaque snippet est volontairement court pour être copié dans une console, un script de migration, un test ou un gestionnaire d'API. Avant d'utiliser une valeur en production, vérifiez l'unité attendue à l'endroit où le timestamp quitte votre code. Beaucoup de bugs surviennent quand un service envoie des millisecondes et qu'un autre stocke des secondes sans conversion.

  • Pour le code navigateur et frontend, attendez-vous à des millisecondes sauf indication contraire de l'API
  • Pour le code backend, les logs et les outils shell, les secondes Unix sont la valeur par défaut habituelle
  • Pour les filtres de base de données, gardez l'unité cohérente sur toutes les lignes et tous les index
  • Pour la sortie formatée, préférez UTC ou un fuseau IANA explicite plutôt que le réglage par défaut du serveur

Choisir une source de vérité

Quand plusieurs services manipulent la même heure d'événement, choisissez une représentation comme source de vérité et convertissez aux frontières. Par exemple, un backend peut stocker des secondes Unix, un frontend peut multiplier par 1000 pour Date, et un rapport peut formater le même instant en UTC ou dans un fuseau métier.