1

私は、データベースと通信するために構築したプライベートPHPAPIと通信するiPadアプリに取り組んでいます。このAPIは、開始時刻、終了時刻、現在時刻の3つの日付を転送する必要があります。

現在の時刻が日付範囲の間にあるかどうかをテストしたいと思います。だから私は時間を取って(16:50:00のように)それらをNSDatesに変換します:

NSDateFormatter *former = [[NSDateformatter alloc] init];
[former setDateFormat:@"HH:mm:ss"];
[former setLocale:[NSLocale currentLocale]];

NSDate *fromDate = [former dateFromString:@"10:15:00"];
NSDate *nowDate = [former dateFromString:@"13:25:00"];
NSDate *toDate = [former dateFromString:@"16:30:00"];

を使用して日付をログに記録してNSLog(@"\n%@\n%@\n%@", fromDate, nowDate, toDate);いると、ロケールが正しくないことがわかります。

NSDateFormatterはロケール設定を無視しているようです。また、正しい識別子であるcurrentLocales識別子(私の場合は「de_DE」)もログに記録しました。ロケールは+0000のままです。

この問題を解決するにはどうすればよいですか?よろしくお願いします、ジュリアン

4

1 に答える 1

2

了解しました。前の回答を削除しました。次のことを試してください

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSTimeZone *zone = [NSTimeZone localTimeZone];
[formatter setTimeZone:zone];
[formatter setDateFormat:@"HH:mm:ss"];

NSDate *date = [formatter dateFromString:@"10:15:00"];

NSLog(@"Time %@",[formatter stringFromDate:date]);
于 2012-12-07T04:49:50.557 に答える