Как сравнить 2 даты без сравнения микросекунд? - PullRequest
1 голос
/ 05 августа 2020

Я подписан на этот пост . Но когда я запускаю этот ниже код на детской площадке, есть небольшая вероятность, что он будет печатать «false». Я думаю, что причина в микросекундах при инициализации объекта Date.

Есть способ лучше? Или как сравнивать без микросекунды?

let date1 = Date()
let date2 = Date()
print(date1)
print(date2)

print(date1 == date2)

ОБНОВЛЕНИЕ Я пытался печатать за миллисекунды, но увидел то же самое. введите описание изображения здесь

1 Ответ

2 голосов
/ 05 августа 2020

Calender предоставляет удобный API для этого

let date1 = Date()
let date2 = Date()

let isInSameSecond = Calendar.current.compare(date1, to: date2, toGranularity: .second) == .orderedSame

Измените toGranularity на желаемый уровень.

...