Как получить дату из европейского времени только с DateFormatter в Swift - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь назначить свидание, но у меня есть только время.Сейчас мне плевать на год, месяц или день.Все, что имеет значение, это время.

Мой ввод имеет вид "чч: мм: сс" (т.е. европейский формат времени).

Проблема в том, что любое время выше 12:59:59 не работает!

Как я могу получить даты, превышающие 12:59:59 ????

Мой код выглядит следующим образом:

import UIKit

let str = "17:02:09"

let mydateFormatter = DateFormatter()
mydateFormatter.dateFormat = "hh:mm:ss"
let timezone = TimeZone(abbreviation: "CEST") ?? TimeZone.current
mydateFormatter.timeZone = timezone
mydateFormatter.locale = Locale(identifier: "de_DE") as Locale?

let date1 = mydateFormatter.date(from: str)

print(date1?.description ?? "no date available")

Вывод: дата недоступна

Если я установлю настройку часов str на значение ниже или равное 12, то это сработает.

Например, если я установил str = "12:02:09 ", я получаю вывод: 1999-12-31 23:02:09 + 0000

Например, если я установлю str =" 10:02:09, Я получаю вывод: 2000-01-01 09:02:09 + 0000

Например, если я задаю str = "13:02:09, я получаю вывод: дата недоступна

Как я могу получить даты, превышающие 12:59:59 ????

И в идеале, как я могу получить даты, которые соответствуютвремя с вводом времени?

...