Swift 3 timezone Problem

Scheint es setDefaultTimeZone Methode ist nicht mehr verfügbar in NSTimeZone. Weiss einer einen Ersatz für diese?

Hinzufügen von einige details:
In meiner appDelegate.swift, ich habe

        NSTimeZone.default = TimeZone(abbreviation: "BST")!

und es funktioniert wie vorgesehen, ich denke, weil in allen anderen Dateien, die ich bekommen NSTimeZone auf diesen Wert gesetzt

Nun, In meiner Utils, ich habe diese Methode

static func getDate(_ dateStr: String) -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    //dateFormatter.timeZone = TimeZone(abbreviation: "GMT")
    let date =  dateFormatter.date(from: dateStr)!
    return date
}

Also sagen wir, ich gebe es ein "2016-10-07", gibt es mir zurück 2016-10-06 23:00 Uhr. Warum? Es wird fixiert, wenn Sie kommentieren Sie die Zeile im obigen code. Ich will nicht von dieser Linie überall.

Beispielsweise in einem anderen Teil meines Projektes, die ich verwendet habe CVCalendar(https://github.com/Mozharovsky/CVCalendar). Es bietet eine Funktion für immer convertedDate wie so

func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
    selectedDay = dayView
    selectedDate = dayView.date.convertedDate()!
}

Die gleiche wie zuvor passiert hier auch...ist, dass ich auf 2016-10-08 und es selectedDate wird hier 2016-10-07 23:00 Uhr.

Und die NSTimeZone.Standardmäßig druckt Europe/London überall.

Hat jemand eine Idee, warum das passiert ist?

können Sie zeigen ur code versucht
developer.apple.com/reference/foundation/nstimezone finden Sie in diesem Dokument
Dies ist, was ich wurde vor der Verwendung Swift3 in AppDelegate.swift. NSTimeZone.setDefaultTimeZone(Zeitzone(Abkürzung: "BST")!)
Ich habe auch diese Dokumentation Lesen, aber mein Xcode fehl zu sagen Geben NSTimeZone hat kein Mitglied setDefault.... haben Sie es ausprobiert?
var UTC = NSTimeZone(name: "UTC") NSTimeZone.defaultTimeZone = UTC versuchen, diese

InformationsquelleAutor AmrataB | 2016-10-07

Schreibe einen Kommentar