Swift: функция startOfDay возвращает 5:00 утра - PullRequest
1 голос
/ 06 августа 2020

Я вызываю функцию startOfDay в текущую дату, но получаю 05:00 вместо 00:00. Мы будем благодарны за любые комментарии относительно того, почему это происходит.

Код:

let date = Calendar.current.startOfDay(for: Date())
print(date)

вывод:

2020-08-05 05:00:00 +0000

1 Ответ

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

Это потому, что вы печатаете Date объект напрямую, он учитывает часовой пояс. Вы можете предоставить средство форматирования даты для его преобразования.

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
let date = Calendar.current.startOfDay(for: Date())
let string = dateFormatter.string(from: date)
print(string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...