В моем приложении мне нужно получить час и минуту отдельно:
NSString *currentHour=[string1 substringWithRange: NSMakeRange(0,2)];
int currentHourInNumber=[currentHour intValue];
Рассматривать string1
содержится в 11:59:13 AM
datepicker.
Здесь, если я использую приведенный выше код, можно получить час, если он больше 9. Иначе мне нужно изменить NSMakeRange(0,1)
чтобы получить час от 1 до 9.
Есть ли какие-нибудь способы получить часы, минуты и т. Д.?
Заранее спасибо, пожалуйста, предоставьте мне образец кода.
ios
objective-c
nsdate
hour
Mac
источник
источник
Ответы:
Используйте NSDateFormatter для преобразования
string1
вNSDate
, затем получите необходимые NSDateComponents :Obj-C :
Swift 1 и 2 :
Swift 3 :
Подробнее о формате даты на официальном сайте Unicode.
источник
Если он вам нужен только для представления в виде строки, следующий код намного проще
источник
Мне кажется, что это то, о чем идет речь, нет необходимости в форматерах:
источник
NSDateComponents
Все, что вам нужно, можно найти здесь:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html.
источник
Если бы вы использовали библиотеку C, это можно было бы сделать:
И используя Swift:
Для получения дополнительных указаний см .: http://www.cplusplus.com/reference/ctime/localtime/
источник
С прошивкой 8, Apple представила вспомогательный метод для извлечения
hour
,minute
,second
иnanosecond
от объекта NSDate.Objective-C
Swift
источник
Swift 2.0
Вы можете сделать следующее, чтобы узнать часы и минуты от даты:
источник
Swift 2.0
Обратите внимание на приведение к String в операторе печати, вы можете легко присвоить это значение переменным, например:
Затем вы можете объединить значения следующим образом:
источник