NSDate NSString相互转化
时间戳是经常用到的,今天就总结一下
//设置转化格式
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
NSDate NSString相互转化的更多相关文章
- NSData NSDate NSString NSArray NSDictionary 相互转化
// NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; ...
- NSData NSDate NSString NSArray NSDictionary 相互转换
// NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; NSDa ...
- ios开发中object-c中UTF-8 和 GBK 的 NSString 相互转化的方法
应用都要遇到一个很头疼的问题:文字编码,汉字的 GBK 和 国际通用的 UTF-8 的互相转化稍一不慎, 就会满屏乱码.下面介绍 UTF-8 和 GBK 的 NSString 相互转化的方法 NS ...
- iOS NSDate与NSString相互转化
1.时间格式的字符串转date NSString *birthdayStr=@"1986-03-28 00:00:00.000"; NSDateFormatter *dateFor ...
- NSDate与 NSString 、long long类型的相互转化
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3560280.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- iOS NSDate与NSString之间的相互转换
假如我们需要把当前的时间当成一个字符串作为一张图片的名字的话,就需要把当前的时间NSDate类型的数据转换成NSString类型. 又或者在网络请求的时候,我们在网络上的到时间是一个字符串但是在本地就 ...
- NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
NSArray *array = @[ @1, @2, @3, @4, @5, @3 ]; // 1. NSArray与NSData相互转化 // NSArray to NSData NSError ...
- OC07 -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)
//一: 迭代器 //数组 NSArray *arr=@[@"1",@"2",@"3",@"4",@"5&qu ...
- OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用
常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...
随机推荐
- 国内首个微信小程序开发者社区www.mntuku.cn
微信小程序开发者社区-微信小程序开发教程-微信小程序最新资讯 - www.mntuku.cn .本站作为专业的微信小程序开发者社区为大家提供:微信小程序开发者交流平台,微信小程序开发教程,微信小程序定 ...
- 等比例压缩图片到指定的KB大小
基本原理: 取原来的图片,长宽乘以比例,重新生成一张图片,获取这张图片的大小,如果还是超过预期大小,继续在此基础上乘以压缩比例,生成图片,直到达到预期 /** * @获取远程图片的体积大小 单位byt ...
- Java NIO 之缓冲区
缓冲区基础 所有的缓冲区都具有四个属性来 供关于其所包含的数据元素的信息. capacity(容量):缓冲区能够容纳数据的最大值,创建缓冲区后不能改变. limit(上界):缓冲区的第一个不能被读或写 ...
- C# 计算字符串在控制台中的显示长度
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- JSON: Property 'xxx' has no getter method的解决办法
在使用JSONArray.fromObject时候出现JSONException:Property 'xxx' has no getter method. 解决办法:设置bean为public属性即可 ...
- R语言中的logical(0)和numeric(0)以及赋值问题
logical(0) 不等于 numeric(0).两者都不等于NULL值,即is.null(logical(0))和is.null(numeric(0))返还值都是FALSE.这很有意思,说明长度为 ...
- HDU5361 In Touch(线段树 + 最短路)
传送门 恰逢才做过VFK的A+B Problem,发现这道题也可以那样搞.区间连边的时候,我们就可以给那个区间在线段树对应的标号上连边. 线段树也可以不建出来,直接当做一个标号的合集,不占用内存,只用 ...
- Restore Oracle database to another server
1. Copy or remotely mount the backupset folder from the source server to the target server 2. On the ...
- 第58讲:Scala中Abstract Types实战详解
这一讲我们来学习下抽像类型.让我们看下代码 package scala.learnimport scala.io.BufferedSourceimport scala.io.Source trait ...
- oracle根据视图删除表
delete from t_fwaqjcjl where zcbm in (select zcbm from view_fwaqjcjl where 1=1 )