2013-03-20 2 views
1

Использование NSDateFormatter для изменения формата даты, это только предоставление взамен на один день предыдущей даты того, что ему дано. Вот код:NSDateFormatter, дающий один день назад

NSString *strDate = [self.mArrEventDate objectAtIndex:i]; 

NSString *str = [[NSString alloc] init]; 
str = [strDate stringByReplacingOccurrencesOfString:@"/" withString:@"-"]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
// ...using a date format corresponding to your date 
[dateFormatter setDateFormat:@"dd/MM/yyyy"]; 

// Parse the string representation of the date 
NSDate *date = [dateFormatter dateFromString:strDate]; 

NSDateFormatter *format1 = [[NSDateFormatter alloc]init]; 

[format1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 

[format1 setDateFormat:@"yyyy-MM-dd"]; 

NSString *sDate = [format1 stringFromDate:date]; 
+0

изменить часовой пояс на местный часовой пояс – Kasaname

+0

Вы знаете, что дата основана на GMT, а не на вашем текущем часовом поясе ... –

ответ

2

Set Time Zone

[format1 setTimeZone:[NSTimeZone systemTimeZone]]; 

OR

[format1 setTimeZone:[NSTimeZone localTimeZone]]; 

Надежда, это поможет вам.

Спасибо.

+0

Какая разница между системным и местным часовым поясом. – 2013-03-20 07:08:04

+0

localTimeZone - это часовой пояс по умолчанию для текущего приложения. & systemTimeZone - это часовой пояс, используемый базовой системой. –

+0

@AppleDatasource: понял? –

Смежные вопросы