2
これはiOS 10のバグのようです。 iOS 8および9では問題ありません。iOS 10のバグ?日本地域と24時間制のNSDate時間の説明
[NSDate date] .descriptionの時間記述は間違っています。 24時間の説明と12時間の説明が追加されています。私はNSDateFormatterを使用していません。ちょうどデフォルト設定。設定>一般>言語&地域における日本へ
- 設定された領域>地域の書式]> [設定]で地域
- セット24時間タイムオフ>一般:セッティングで本物のiOS 10デバイス、オン
>日付&時間> 24時間の時間とその後
:
NSLog(@"Date is %@", [NSDate date].description);
実際のログ出力:
Date is 2016-11-14 44:14:57 AM +0000
期待出力:
Date is 2016-11-14 4:14:57 AM +0000
編集(他の例を追加):
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd hh:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);
実際の出力:OU期待
Date is 1985-04-12 1010:20:50 AM +0000
Date is 1985-04-12 10:20:50 AM +0000
tputを私は24時間形式(HH)に時間を変更する場合:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a";
NSString *dateString = @"1985-04-12 7:20:50 PM";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date is %@", date.description);
実際の出力:
Date is (null)
予想される出力:
Date is 1985-04-12 10:20:50 AM +0000
24時間制は有効になっていません。オフです。 – unitwhy
Appleにバグレポートを送信してください。問題を再現して修正できるように、簡単なサンプルアプリを含めてください。 – rmaddy
私はAppleにバグレポートを提出しました。アドバイスありがとう – unitwhy