Я просто запустил код ниже несколько раз и вижу, что иногда date1 и date2 равны, но иногда нет.
let date1 = Date()
let date2 = Date(timeIntervalSince1970: date1.timeIntervalSince1970)
print(date1)
print(date2)
print(date1.timeIntervalSince1970)
print(date2.timeIntervalSince1970)
print(date1 == date2)
Так что иногда я получаю:
2019-03-22 05:52:30 +0000
2019-03-22 05:52:30 +0000
1553233950.498001
1553233950.498001
false
Эти даты выглядят одинаково, но сравнение говорит мне, что они разные. Проблема в том, что date2 немного отличается от date1. Чтобы доказать это, я могу написать:
print(date1.timeIntervalSince(date2))
и получите:
-1.1920928955078125e-07
Так что есть ли способ перевести дату1 в число, а затем обратно в дату2, которая равна дате1?