今天在做工程的时候出现了一个问题:就是把我们平时常用的时间戳转换成时间格式,只需要后面的时间部分,不要年月日部分。。。
我的做法是先把时间戳转换成NSDate,再把NSDate转换成字符型,截取后面的时间部分,即可。如下:
//时间戳::
NSString* timeSp = @"7200";
NSDate *currentTime = [NSDate dateWithTimeIntervalSince1970:[timeSp intValue]];
NSLog(@"currentTime : %@", (NSString*)currentTime );
输出的结果是: currentTime : 1970-01-01 02:00:00 +0000
在把currentTime转换成NSString类型时候发现,他会多出8个小时。。因为我要做的是一个倒计时的东西,所以我做了以前的处理去掉8小时的时差
NSDate *currentTime = [NSDate dateWithTimeIntervalSinceReferenceDate:seconds];
NSLog(@"currentTime : %@", (NSString*)currentTime );
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: currentTime];
NSDate *localeDate = [currentTime dateByAddingTimeInterval: -interval];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *strDate = [dateFormatter stringFromDate:localeDate];
NSArray* array = [strDate componentsSeparatedByString:@" "];
NSLog(@"array === %@",array[1]);
NSLog(@"%@", strDate);
这只是我个人的一些做法,,,希望能帮助到遇到相同问题的童鞋。。一起进步