[英]Create NSDate from 24h NSString return null
我有這樣的24小時格式的NSString
:
NSString *a = @"10:00";
NSString *b = @"23:59";
如何使用NSString
b獲得NSDate
?
我使用:
+ setDateFormat: @"HH:mm"
==>當電話設置為24h時,a和b均可使用。
+ setDateFormat: @"hh:mm"
==>僅適用於手機設置為am / pm的情況。
我的完整代碼具有self.timeInit是24小時格式的NSString:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HH:mm"];
NSDate *date = [dateFormat dateFromString:self.timeInit];
if (!date){
[dateFormat setDateFormat:@"hh:mm"];
date = [dateFormat dateFromString:self.timeInit];
NSLog(@"Date 2: %@", date);
}
if (!date){
[dateFormat setDateFormat:@"H:mm"];
date = [dateFormat dateFromString:self.timeInit];
NSLog(@"Date 3: %@", date);
}
NSLog(@"Date: %@", date);
if (date){
[self.timePickerUI setDate:date];
}
您在NSDateFormatter上強制使用自己的語言環境,因此它會忽略用戶的設置。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HH:mm"];
[dateFormat setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
NSDate *date = [dateFormat dateFromString:self.timeInit];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.