시간 형식을 감지하려고하는데 12 시간/24 시간 형식입니다. 나는 캘린더에 시간을 정하고 있다고 가정합니다.
다음 코드를 사용하여 viewDidLoad 메서드에서 장치의 24 시간 형식을 검색했습니다.ipad sdk에서 24 시간 형식을 검색하는 방법
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setDateStyle:NSDateFormatterNoStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
NSString *dateString = [formatter stringFromDate:[NSDate date]];
NSRange amRange = [dateString rangeOfString:[formatter AMSymbol]];
NSRange pmRange = [dateString rangeOfString:[formatter PMSymbol]];
is24h = (amRange.location == NSNotFound && pmRange.location == NSNotFound);
그 후
if (is24h == TRUE) {
} else {
}
을 다음과 같이 내가 확인하고하지만 난 항상 is24h의 값이 false 얻고있다. 기기가 12 시간 형식으로 설정된 경우 캘린더에서 시간을 설정할 수 있습니다. 24 시간 형식이라면 시간을 정할 수 없습니다.
어디에서 변경해야하는지 알려주실 수 있습니까? 에 따라 시간 형식을
- (BOOL)timeIs12HourFormat {
NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];
NSRange containsA = [formatStringForHours rangeOfString:@"a"];
BOOL hasAMPM = containsA.location != NSNotFound;
return hasAMPM;
}
를 결정하는
이것은 매우 수수합니다. 설명에 신경 써라? –