Una data Swift, diverse origini possibili
In Foundation, Date rappresenta un istante. Per scambiarlo come numero, specifica origine e unità. timeIntervalSince1970 restituisce i secondi dall'Epoch Unix; timeIntervalSinceReferenceDate usa come riferimento il 1° gennaio 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.0Convertire il riferimento 2001 in Unix
Il riferimento Foundation dista 978.307.200 secondi dall'Epoch Unix.
let referenceSeconds: TimeInterval = 733665600
let date = Date(timeIntervalSinceReferenceDate: referenceSeconds)
print(date.timeIntervalSince1970) // 1711972800.0Non generalizzare a tutti i file Apple
Il database di un'applicazione, i metadati di una foto o un registro di sistema possono usare rappresentazioni diverse: secondi, nanosecondi, stringhe di data, con o senza fuso orario esplicito. Il solo nome Apple non determina il formato. Controlla lo schema e confronta un valore di cui conosci la data.
Per usare il convertitore Unix con un valore relativo al 2001, converti prima l'origine, poi scegli l'unità corretta. Moltiplicare semplicemente per 1.000 non corregge un'origine diversa.
Riferimenti
Versione italiana pubblicata il 26 settembre 2026.