0

この日付を「04/11/13 19:37:00」という形式で取得しています。この日付をローカルタイムゾーンに変換したいのですが、以下は私が使用しているコードです。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"MM/dd/yy HH:mm:ss";

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];

NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"date value %@",date);

私が直面している問題は、「2013-04-12 01:07:00 IST」と表示されている「日付」変数にマウスを置いたときにデバッガーを使用していることです。これは私が必要とする正しい出力です。しかし、NSLog を使用して同じ「日付」変数を出力すると、「2013-04-11 19:37:00 +0000」が表示されます。どうすれば正しい形式を取得できますか。日付形式を変更する必要があります

4

2 に答える 2

2

NSLogNSDateオブジェクトを固定形式で表示します。日付を特定の形式でログに記録する場合は、を使用してをに変換してNSDateから、文字列をログに記録します。NSStringNSDateFormatter

日付の記録はデバッグ目的のみであることを忘れないでください。ログの形式は実際には問題ではありません。

于 2013-04-16T06:47:00.127 に答える