timestampinfo.fr
Outils & documentation

LA DOCUMENTATION DU TEMPS

Timestamps Apple : Unix et date de référence

Distinguer les secondes depuis 1970 des secondes depuis la référence Foundation de 2001.

Une date Swift, plusieurs origines possibles

Dans Foundation, Date représente un instant. Pour l’échanger sous forme numérique, précisez l’origine et l’unité. timeIntervalSince1970 fournit des secondes depuis l’Epoch Unix ; timeIntervalSinceReferenceDate utilise la référence du 1er janvier 2001.

import Foundation

let date = Date(timeIntervalSince1970: 1711972800)
let formatter = ISO8601DateFormatter()
print(formatter.string(from: date))
// 2024-04-01T12:00:00Z
print(date.timeIntervalSince1970)
// 1711972800.0

Convertir la référence 2001 en Unix

La référence Foundation est décalée de 978 307 200 secondes par rapport à l’Epoch Unix.

let referenceSeconds: TimeInterval = 733665600
let date = Date(timeIntervalSinceReferenceDate: referenceSeconds)
print(date.timeIntervalSince1970) // 1711972800.0

Ne pas généraliser à tous les fichiers Apple

Une base d’application, une métadonnée photo ou un journal système peut adopter une autre représentation : secondes, nanosecondes, chaîne de date, fuseau explicite ou absent. Le nom Apple ne suffit pas à déterminer le format. Vérifiez le schéma et comparez une valeur dont la date est connue.

Pour utiliser notre convertisseur Unix avec une donnée relative à 2001, convertissez d’abord l’origine puis sélectionnez la bonne unité. Une simple multiplication par 1 000 ne corrige pas une origine différente.

Références

Documentation de référence

Ouvrir le convertisseur