你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發Debug之date轉換string-8小時問題

iOS開發Debug之date轉換string-8小時問題

編輯:IOS開發綜合
1.轉換string多了8小時
?- (NSString*)dateAsString:(NSDate*)date {


NSTimeZone *timeZone=[NSTimeZonetimeZoneWithName:@"UTC"];


NSDateFormatter *formatter=[[NSDateFormatteralloc] init];


[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];


[formatter setTimeZone:timeZone];


NSString * timeString = [formatter stringFromDate:date];


return timeString;


}



使用方法:timeString = [self dateAsString:date];


原因:無論環境是使用12小時制還是24小時制,yyyy-MM-dd HH:mm:ss返回都是24小時制。設置TimeZone為UTC ,這樣使得轉換時間不會出現8小時誤差


?2.轉換string少了8小時
?- (NSString*)dateAsString:(NSDate*)date {


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


formatter.dateFormat=@"yy-MM-dd HH:mm:ss";


NSString *timeStr=[formatter stringFromDate:date];


NSTimeZone *timeZone=[NSTimeZone systemTimeZone];


NSInteger seconds=[timeZone secondsFromGMTForDate:date];


NSDate *newDate=[date dateByAddingTimeInterval:seconds];


NSString *newTimeStr=[formatter stringFromDate:newDate];


return timeString;


}



使用方法:timeString = [self dateAsString:date];
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved