我在將給定日期轉換爲iOS系統時區時遇到問題。轉換iOS中系統時區中的任何時區日期
來源日期:2013-03-18 03:54:18 //其AM格式 目的日期應爲:2013-03-18 03:30:15 //其PM格式。
我怎樣才能得到這個?
我試過下面的代碼,但得到錯誤的數據和差異了。
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSLog(@"Post date::%@",postDate);
NSDate *utc = [fmt dateFromString:postDate];
fmt.timeZone = [NSTimeZone systemTimeZone];
NSString *local = [fmt stringFromDate:utc];
NSLog(@" local %@", local);
NSDate *date1 = [NSDate date];
NSString *currentDateString = [fmt stringFromDate:date1];
NSDate *currentDate = [fmt dateFromString:currentDateString];
NSUInteger flags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *difference = [[NSCalendar currentCalendar] components:flags fromDate:utc toDate:currentDate options:0];
NSLog(@"difference::%d",[difference day]);
NSLog(@"difference::%d",[difference hour]);
NSLog(@"difference::%d",[difference minute]);
編輯:輸出
Post date::2013-03-18 03:20:09
local 2013-03-18 03:20:09
difference::0
difference::13
difference::2
顯示nslogs ... – 2013-03-18 11:14:39
發佈時間:: 2013年3月18日03:20: 09 當地2013年3月18日3時20分09秒 差異:: 0 差異:: 13 差異:: 2 – 2013-03-18 11:17:45
顯示爲對象的NSDate不是字符串 – 2013-03-18 11:22:32