2013-03-07 83 views
-3

秒數爲54000. 如何獲得時間爲3:00:00 PM?在ObjC中獲得NSDate秒數

任何dateformatter的我可以用它來得到它?

感謝

+0

對時區的變化應該發生什麼? – 2013-03-07 04:06:49

+0

這不是一個確切的重複,但在這個問題中提供的答案也適用於這裏。基本上你有一個時間間隔,起點是午夜。 – dreamlax 2013-03-07 04:22:26

回答

9

假設GIVEN秒都在本地時區,你想轉換爲本地時區。

NSInteger timeInSeconds = 54000; 

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:timeInSeconds]]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"hh:mm:ss a"]; 

NSString *dateString = [formatter stringFromDate:date]; 
0

假設你要根據上一個「正常」的日子當前區域設置格式化的時間(即一個無時區變化),

double seconds = 54000; 

NSDateFormatter * fmt = [NSDateFormatter new]; 
[dateFormatter setDateStyle:NSDateFormatterNoStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterLongStyle]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:seconds]; 
NSString * s = [fmt stringFromDate:date]; 

// If you are not using ARC, 
[fmt release];