0

以下は私が使用しているものです

NSString *myDate = @"01-11-2014 10:22 PM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm a"];
NSDate *newDate = [dateFormatter dateFromString:myDate];
NSLog(@"new date===%@=====%@", newDate, myDate);

以下は私が得ているものです

new date===2014-11-01 19:22:00 +0000=====01-11-2014 10:22 PM
                      ^^

私が期待していた出力は

new date===2014-11-01 22:22:00 +0000=====01-11-2014 10:22 PM
                      ^^

何がうまくいかないのですか?


AMがある場合、以下の出力があります

new date===2014-11-01 07:22:00 +0000=====01-11-2014 10:22 AM
                      ^^

編集 1

実際に私が行っているのは、UITextField で日付と時刻を尋ねることです (悲しいことに、クライアントが同じように望んでいたので真実です)...そして、この文字列を連結して NSDate に変換します。

だから私が持っているのは

 NSString myDate = [NSString stringWithFormat@"%@ %@", appDate, appTime];
4

1 に答える 1

0

次のコード行を追加します。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

タイムゾーンが間違っていた可能性があります。タイムゾーンを自分のタイムゾーンに設定する必要があります。

于 2013-07-26T18:54:32.887 に答える