Я бы сделал это с компонентами.
Предполагается, что вам нужно время в секундах, определенное как time(2)
. Если вам нужно в миллисекундах, как определено time(3)
, вы можете умножить его на 1000.
// Get right now as it's `DateComponents`.
let now = Calendar.current.dateComponents(in: .current, from: Date())
// Create the start of the day in `DateComponents` by leaving off the time.
let today = DateComponents(year: now.year, month: now.month, day: now.day)
let dateToday = Calendar.current.date(from: today)!
print(dateToday.timeIntervalSince1970)
// Add 1 to the day to get tomorrow.
// Don't worry about month and year wraps, the API handles that.
let tomorrow = DateComponents(year: now.year, month: now.month, day: now.day! + 1)
let dateTomorrow = Calendar.current.date(from: tomorrow)!
print(dateTomorrow.timeIntervalSince1970)
Вы можете получить вчера, вычитая 1.
Если вам нужно это в универсальное время (UTC, GMT, Z… какое бы имя вы ни указали в качестве универсального времени), используйте следующее.
let utc = TimeZone(abbreviation: "UTC")!
let now = Calendar.current.dateComponents(in: utc, from: Date())