Unix Timestamp in Swift
Get the current Unix timestamp
Swift
// Seconds (Double)
Date().timeIntervalSince1970 // 1700000000.0
// Integer seconds
Int(Date().timeIntervalSince1970) // 1700000000
// Milliseconds
Int(Date().timeIntervalSince1970 * 1000)Convert epoch to Date
Swift
let epoch: TimeInterval = 1700000000
let date = Date(timeIntervalSince1970: epoch)
// Format for display
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.timeZone = TimeZone(identifier: "UTC")
print(formatter.string(from: date)) // "2023-11-14 22:13:20"
// ISO 8601
let iso = ISO8601DateFormatter()
print(iso.string(from: date)) // "2023-11-14T22:13:20Z"Convert Date to epoch
Swift
// From DateComponents
var components = DateComponents()
components.year = 2023; components.month = 11; components.day = 14
components.hour = 22; components.minute = 13; components.second = 20
components.timeZone = TimeZone(identifier: "UTC")
if let date = Calendar.current.date(from: components) {
let epoch = Int(date.timeIntervalSince1970) // 1700000000
}
// From ISO 8601 string
let formatter = ISO8601DateFormatter()
if let date = formatter.date(from: "2023-11-14T22:13:20Z") {
let epoch = Int(date.timeIntervalSince1970)
}Timezones
Swift
let date = Date(timeIntervalSince1970: 1700000000)
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz"
formatter.timeZone = TimeZone(identifier: "Asia/Kolkata")
print(formatter.string(from: date)) // "2023-11-15 03:43:20 IST"Time arithmetic
Swift
let now = Date()
let tomorrow = now.addingTimeInterval(86400)
let anHourAgo = now.addingTimeInterval(-3600)
// Using Calendar
let nextWeek = Calendar.current.date(byAdding: .day, value: 7, to: now)!
// Check expiry
let expiry = Date(timeIntervalSince1970: 1700000000)
if Date() > expiry { print("expired") }→ Use the live epoch converter to convert any Swift timestamp instantly.