Objective c 从ObjC中的秒获取NSDate

Objective c 从ObjC中的秒获取NSDate,objective-c,nsdate,nsdateformatter,Objective C,Nsdate,Nsdateformatter,我的秒数是54000。 我怎么知道时间是下午3点 我可以用任何日期格式化程序来获取它吗 谢谢假设给定的秒数位于本地时区,并且您希望转换为本地时区 NSInteger timeInSeconds = 54000; NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:timeInSeconds]]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [fo

我的秒数是54000。 我怎么知道时间是下午3点

我可以用任何日期格式化程序来获取它吗


谢谢

假设给定的秒数位于本地时区,并且您希望转换为本地时区

NSInteger timeInSeconds = 54000;

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

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

NSString *dateString = [formatter stringFromDate:date];

假设您希望在“正常”的一天(即没有时区变化的一天)按照当前区域设置格式化时间


时区变化会发生什么?这不是一个完全相同的问题,但该问题中提供的答案也适用于这里。基本上你有一个时间间隔,起始点是午夜。
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];