NSDate NSString相互转化
2015-11-27 16:49
387 查看
时间戳是经常用到的,今天就总结一下
Demo下载地址:https://github.com/shilihuan/NSString-NSDate
//设置转化格式 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setLocale: [NSLocale currentLocale]]; [formatter setTimeZone: [NSTimeZone localTimeZone]]; [formatter setDateStyle: NSDateFormatterMediumStyle]; [formatter setTimeStyle: NSDateFormatterShortStyle]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//HH是24小时制, hh是12小时制, HH:mm:ss里面的 mm 不能大写,否则这个分钟会一直是这个yyyy-MM-dd 里面的MM的值,同时dd和ss都不能大写 // [formatter setDateFormat:@"yyyy年MM月dd日HH时mm分ss秒"];//这样设置也是可行的 //时间戳转化为时间 NSString *doubleStr = @"1446610423"; NSDate *dateFromDouble = [NSDate dateWithTimeIntervalSince1970: doubleStr.doubleValue]; NSLog(@"dateFromDouble = %@", dateFromDouble); //时间转化为字符串 NSDate *currentDate = [NSDate date]; NSLog(@"currentDate = %@", currentDate); NSString *strFromDate = [formatter stringFromDate: currentDate]; NSLog(@"strFromDate = %@", strFromDate); //时间字符串转化为时间 NSString *dateStr = @"2015-11-27 15:11:19"; NSDate *dateFromStr = [formatter dateFromString: dateStr]; NSLog(@"dateFromStr = %@", dateFromStr);//会出现8小时的时差 //出现8小时时差 //解决办法一 [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]]; NSDate *correctDate = [formatter dateFromString: dateStr]; NSLog(@"correctDate = %@", correctDate); //解决办法二 NSTimeZone *sysTimeZone = [NSTimeZone systemTimeZone]; NSInteger interval = [sysTimeZone secondsFromGMTForDate: dateFromStr]; NSDate *localDate = [dateFromStr dateByAddingTimeInterval:interval]; NSLog(@"localDate = %@", localDate); //解决办法三, 这个不太提倡,只是针对于中国 NSDate *chinaDate = [dateFromStr dateByAddingTimeInterval: 8 * 60 * 60];//加上8个小时的时差 NSLog(@"chinaDate = %@", chinaDate);
Demo下载地址:https://github.com/shilihuan/NSString-NSDate
相关文章推荐
- Mock&Spring集成
- apache+tomcat集群说明(二)
- Machine Learning week 9 quiz: Anomaly Detection
- 史上最直白的pca教程 之 二
- 使用admob移动广告SDK在Android应用中集成插页式广告教程
- 斐波那契数列 兔子表述 面试题
- 1083Cantor表
- 组合模式(Composite Pattern)
- WEB-INF目录与META-INF目录的作用
- 如何调用系统相机
- RPG游戏中的视野刷新算法
- 德国经济发展史的简单论述
- 程序员必备技能与习惯
- LeetCode(289)Game of Life
- 数据库分库分表
- NSError错误码定义
- SQL Server 自动化运维系列
- addTarget事件添加方法在OC和Swift中的区别
- R爬虫知识点
- windows 8 编译 Ogre 1.8.1 的方法