2016-06-17 16 views
2

Ich versuche, um die aktuelle Zeit zu bekommen, und ich habe dies bisher getan:Wie bekomme ich die aktuelle Zeit in Swift?

let date = NSDate() 
    let calender = NSCalendar.currentCalendar() 
    let components = calender.component([.Hour, .Minute], fromDate: date) 

Und ich dann versuchen, die Stunde der Komponenten

let hour = components.hour 

Diese gib mir zu bekommen "Wert vom Typ" Int "hat kein Mitglied 'Stunde'". Irgendwelche Vorschläge?

Antwort

6

ändern

let components = calender.component([.Hour, .Minute], fromDate: date) 

zu

let components = calender.components([.Hour, .Minute], fromDate: date) 
+0

Wow, danke Mann; o) – Recusiwe

+0

wie am pm in sie erhalten – hussain

4

NSCalendar.component(_:fromDate:) gibt eine einzelne Komponente eines Datums, als Int. Ihre components Variable ist also vom Typ Int. Die Weitergabe mehrerer Einheiten an component(_:fromDate:) (wie Sie es tun) ist nicht definiert.

Versuchen Sie stattdessen:

let components = calender.components([.Hour, .Minute], fromDate: date) 

Beachten Sie, dass der erste Teil des Verfahrens Name hier components ist, nicht component.

Sie können auch Ihre calender Variable zu ändern, da das die richtige Schreibweise ist.

1

swift 4

let hh2 = (Calendar.current.component(.hour, from: Date())) 
let mm2 = (Calendar.current.component(.minute, from: Date())) 
let ss2 = (Calendar.current.component(.second, from: Date())) 

print(hh2,":", mm2,":", ss2) 

output: ---> 9 : 10 : 55 
Verwandte Themen