// 纯数字日期
NSString *str1 = @"";
// 日期字符串
NSString *str2 = @"2015/05/12 10:22:01";
// 带时区的日期字符串
NSString *str3 = @"Tue Sep 06 21:37:19 +0800 2015";
// 不带时区的日期字符串
NSString *str4 = @"Tue Sep 05 21:15:27 2015";
// 格林尼治时间
NSString *str5 = @"Wed, 4 Nov 2015 03:25:31 GMT"; // 创建日期格式化对象
NSDateFormatter *format = [[NSDateFormatter alloc] init];
// 设置地区
[format setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; // str1
[format setDateFormat:@"yyyyMMddHHmmss"];
NSDate *date1 = [format dateFromString:str1];
NSLog(@"%@", date1); // str2
[format setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
// [format setDateFormat:@"yyy/MM/d h:m:ss"];
// [format setDateFormat:@"yyyy/MM/dd H:m:ss"];
NSDate *date2 = [format dateFromString:str2];
NSLog(@"%@", date2); // str3
// 以下方法在iOS8以后貌似会出现问题,所以另外补充一种使用C语言格式日期方法
[format setDateFormat:@"EEE MMM dd HH:mm:ss zzz yyyy"];
NSDate *date3 = [format dateFromString:str3];
NSLog(@"%@", date3); struct tm sometime;
const char *formatString = "%a %b %d %H:%M:%S %z %Y";
strptime([str3 UTF8String], formatString, &sometime);
date3 = [NSDate dateWithTimeIntervalSince1970:mktime(&sometime)];
NSLog(@"%@", date3); // str4
[format setDateFormat:@"EEE MMM dd HH:mm:ss yyyy"];
NSDate *date4 = [format dateFromString:str4];
NSLog(@"%@", date4); // str5
NSDateFormatter *formatGMT = [[NSDateFormatter alloc] init];
// 设置时间地区
[formatGMT setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[formatGMT setDateFormat:@"EEE, dd MMM yyy HH:mm:ss zzz"];
NSDate *date5 = [formatGMT dateFromString:str5];
NSLog(@"%@", date5);
 定义函数  函数说明 函数返回值 
 time_t mktime(struct tm *timeptr);

将时间结构数据转换成经过的秒数。

mktime() 用来将参数timeptr所指的tm结构数据转换成从公元 1970年1月1日 0时0分0秒 算起至今的UTC时间所经过的秒数。

 返回经过的秒数
char *strptime(const char *buf, const char *format, struct tm *timeptr);

strptime是将一个字符串格式化为一个tm结构类型

 返回没有被格式化的日期字符串
+ (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;

返回以1970/01/01 GMT为基准,然后经过了secs秒的时间

 NSDate 日期对象

最新文章

  1. 在Swift中实现单例方法
  2. 常用linux 命令 -字符串相关
  3. Eclipse下.project和.classpath作用(转)
  4. ARM Linux 3.x的设备树(Device Tree)
  5. linux zookeeper 原理详解
  6. MFC设置对话框大小
  7. iOS7 各种问题解决
  8. Sencha touch navigation 内嵌list,itemTap第二次点击不跳转的问题
  9. ejabberd的多域名(domain)设置
  10. svn常用操作命令(不断更新中......)
  11. UVALive - 3713 Astronauts
  12. 不到30行JS代码实现的Excel表格
  13. virtualBox使用nat模式下ssh连接
  14. hdu 4888 Redraw Beautiful Drawings 最大流
  15. JavaScript 值类型和引用类型的初次研究
  16. directX根据设备类GUID查询所属的filter
  17. dubbo自定义异常传递信息丢失问题解决
  18. Dubbo是什么
  19. 【转】HTTP429
  20. Hanlp等七种优秀的开源中文分词库推荐

热门文章

  1. NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
  2. (贪心5.1.1)POJ 1230 Pass-Muraille
  3. 使用ajax代替iframe
  4. Android虚拟机Dalvik介绍
  5. OpenCV2马拉松第22圈——Hough变换直线检測原理与实现
  6. 分布式助手Zookeeper(一)
  7. MySQL 权限?
  8. javabean对象要实现的接口们和要重写的方法们
  9. 1.Linux系统(CenntOS)固定IP的设定
  10. IE6下Png透明最佳解决方案(推荐) Unit PNG Fix