0

datetimepicker を使用した ios アプリケーションがあり、日付を「日付」タイプのデータベースに保存しています。そのため、いくつかの数値が保存されます

日付はデータベースから取得され、次のように NSString に表示されます: 2012-06-25 06:45:06 +0000

これにより GMT 0 が得られ、今回は GMT +5:30 になり、texlfield に表示されます。


strTime = @"2012-06-25 06:45:06 +0000";// thats comes form database like this.

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"yyyy-MM-dd hh:mm"]; NSDate *myDate = [dateFormat dateFromString:strTime]; NSString *strDate = [dateFormat stringFromDate:myDate]; NSLog(@"%@", strDate); txtTime.text = strDate;

結果は (null) になります 2012-06-25 12:15:06 のように時刻を表示したい (with gmt +5:30)

4

1 に答える 1

1

次のようにタイムゾーンを設定する必要があります

NSString *strDate = @"2012-06-25 06:45:06 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];
int secondsFromGMT = 5.5 * 3600;
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:secondsFromGMT]];

NSDate *date = [formatter dateFromString:strDate];
NSString *strWithTimeZone = [formatter stringFromDate:date];
NSLog(strWithTimeZone); //2012-06-25 12:15:06 GMT+05:30
于 2012-06-25T07:20:08.723 に答える