Swift Дата форматирования меняется на следующий месяц при использовании данных на конец месяца? - PullRequest
0 голосов
/ 13 октября 2019

Я живу по датам конца месяца, таким как «2019-02-28 23:59:59»

печатать, когда я распечатываю эту дату, это говорит мне «Mar-2019». Нет, это все еще "февраль-2019"

print(dt1.toString(dateFormat: "MMM-YYYY")

Я использую SwiftDate. Я также получаю эту проблему с DateFormatter ().

, поэтому вместо чистого кода мне приходится вычитать день, чтобы получить правильный месяц-год для отображения.

Почему?

1 Ответ

3 голосов
/ 13 октября 2019

Вам необходимо правильно установить формат Timezone & date, как показано ниже,

let string = "2019-02-28 23:59:59"
let df = DateFormatter()
df.timeZone = .current
df.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = df.date(from: string)
print(date?.description(with: .current)) //Thursday, February 28, 2019 at 11:59:59 PM Gulf Standard Time
df.dateFormat = "MMM-yyyy"
print(df.string(from: date!)) // Feb-2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...