In meiner Bewerbung muss ich Stunde und Minute getrennt abrufen:
NSString *currentHour=[string1 substringWithRange: NSMakeRange(0,2)];
int currentHourInNumber=[currentHour intValue];
Betrachten Sie string1
enthält, 11:59:13 AM
was von Datepicker kommt.
Wenn ich den obigen Code verwende, ist es in Ordnung, eine Stunde zu erhalten, wenn sie größer als 9 ist. Andernfalls muss ich mich ändern NSMakeRange(0,1)
, um eine Stunde zwischen 1 und 9 zu erhalten.
Gibt es Methoden, um die Stunde, Minuten usw. zu ermitteln?
Vielen Dank im Voraus, bitte geben Sie mir einen Beispielcode.
ios
objective-c
nsdate
hour
Mac
quelle
quelle
Antworten:
Verwenden Sie einen NSDateFormatter , um
string1
in einen zu konvertierenNSDate
, und rufen Sie dann die erforderlichen NSDateComponents ab :Obj-C :
Swift 1 und 2 :
Swift 3 :
Weitere Informationen zum Datumsformat finden Sie auf der offiziellen Unicode-Website
quelle
Wenn Sie es nur zur Darstellung als Zeichenfolge benötigen, ist der folgende Code viel einfacher
quelle
Dies scheint mir die Frage zu sein, nach der keine Formatierer benötigt werden:
quelle
NSDateComponents
Alles, was Sie brauchen, finden Sie hier:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html
quelle
Wenn Sie die C-Bibliothek verwenden, können Sie Folgendes tun:
Und mit Swift:
Weitere Anleitungen finden Sie unter: http://www.cplusplus.com/reference/ctime/localtime/
quelle
Mit iOS 8, Apple eine Hilfsmethode eingeführt das zurückzuholen
hour
,minute
,second
undnanosecond
von einem NSDate Objekt.Ziel c
Schnell
quelle
Swift 2.0
Sie können Folgendes tun, um Stunden und Minuten von einem Datum zu erhalten:
quelle
Swift 2.0
Bitte beachten Sie die Umwandlung in String in der print-Anweisung. Sie können diesen Wert einfach Variablen wie folgt zuweisen:
Dann können Sie Werte wie folgt verketten:
quelle