美文网首页程序学习的爬坑之旅
时间戳换算后,截取时间相差8小时的问题

时间戳换算后,截取时间相差8小时的问题

作者: SHyH5 | 来源:发表于2016-02-25 10:56 被阅读5240次

今天在做工程的时候出现了一个问题:就是把我们平时常用的时间戳转换成时间格式,只需要后面的时间部分,不要年月日部分。。。

我的做法是先把时间戳转换成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);

这只是我个人的一些做法,,,希望能帮助到遇到相同问题的童鞋。。一起进步

相关文章

网友评论

  • a90883b452b3:关键是为什么有时候少这个8小时,有时候没有少8小时

本文标题:时间戳换算后,截取时间相差8小时的问题

本文链接:https://www.haomeiwen.com/subject/lxbikttx.html