IOS 时区问题
来源:互联网 发布:科比季后赛平均数据 编辑:程序博客网 时间:2024/05/21 11:06
时间转化可以看看这篇文章:http://blog.csdn.net/fengsh998/article/details/9731617
加8个时区
- (NSDate *) addEightTimeZone:(NSDate *)date{ NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: date]; NSDate *localeDate = [date dateByAddingTimeInterval: interval]; return localeDate;}
在用NSDateFormatter转出来后带的时间是原参数anydate的时区,因此切不可再用NSDateFormatter 转换。否则会多增加一个时区的时间值。
当多余8个时区时,此时可以用 timeValue = (timeValue -8*60*60*1000); 减去8个时区的时间,就是现在的准确时间了。
- (NSString *)convertStringToTime:(NSString *)timeString{ NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate*timeDate = [formatter dateFromString:timeString]; // timeDate = [self addEightTimeZone:timeDate]; long long timeStamp = [timeDate timeIntervalSince1970]; NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; // dat = [self addEightTimeZone:dat]; NSTimeInterval currentStamp=[dat timeIntervalSince1970]; long long val = (currentStamp - timeStamp); NSString *_timeStr; if (val > 2*24*60*60) //48以上 月日 { _timeStr = [NSString stringWithFormat:@"%@",[self ConvertTimeStampToTimeStr:timeStamp Format:@"MM月dd日"]]; } else if ((val < 2*24*60*60) && (val > 24*60*60)) //48以内 昨天 { _timeStr = @"昨天"; } else if ((val < 24*60*60) && (val > 60*60)) //24小时以内 { _timeStr = [NSString stringWithFormat:@"%@小时前",[self ConvertTimeStampToTimeStr:val Format:@"HH"]]; } else if ((val < 60*60) && (val > 60)) //1小时以内 { _timeStr = [NSString stringWithFormat:@"%@分钟前",[self ConvertTimeStampToTimeStr:val Format:@"mm"]]; } else if (val < 60) //1分钟以内 { _timeStr = @"1分钟前"; } return _timeStr;}- (NSString *)ConvertTimeStampToTimeStr:(long long )timeValue Format:(NSString*)dateFormat{ timeValue = (timeValue - 8*60*60); NSDate *d = [[NSDate alloc]initWithTimeIntervalSince1970:timeValue]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:dateFormat]; //d = [self addEightTimeZone:d]; NSString*timeString=[formatter stringFromDate:d]; if ([timeString integerValue] <10) { timeString = [NSString stringWithFormat:@"%ld",(long)[timeString integerValue]]; } return timeString;}
0 0
- IOS 时区问题
- iOS 关于时区转化问题
- IOS中时区的问题
- iOS开发:NSDate时区与格式化问题
- 【iOS】OC-时间转化的时区问题
- 时区问题
- [Ios] DatePicker获取时间时,如何转换时区的问题
- iOS 解决时间拾取器 datePicker 时区问题
- ios设置时区转换
- ios设置时区转换
- iOS获取当前时区
- ios时间时区处理
- java 时区问题 SimpleDateFormat 时区大全
- 关于java时区问题
- java 时区问题
- Java 时区问题
- CST时区问题
- Tomcat时区设置问题
- JOS 轮转调度实现
- XMPP协议获取花名册(好友列表)
- 简单计算器
- 黑马程序员—Java基础—IO5
- 随意细解:OC -- 属性、点语法、KVC
- IOS 时区问题
- 基数排序算法之Java实现
- iOS 简单弹幕效果
- iOS开发小技巧:刷新UITableView
- 电脑不插电源启动就没声音的问题
- Spark 数据挖掘 - 利用决策树预测森林覆盖类型
- Python 爬虫学习:爬取LeetCode的题目并且按照难度分类
- A PAPER LIST FOR OBJECT DETECTION IN VIDEOS
- 线程的分类