// 纯数字日期
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 日期对象

日期字符串转换为NSDate的更多相关文章

  1. 将某个日期字符串转换为java.sql.Date的类型

    import java.text.ParseException; import java.text.SimpleDateFormat; public class date { /** * @param ...

  2. C# 把日期字符串转换为日期类型 (MM大写为月、小写为分钟)

    string dtStr; DateTime dtTime; 尝试把时间字符串转为DateTime格式 if (DateTime.TryParse(dtStr, out dtTime)) { //st ...

  3. c#字符串转换为日期,支持任意字符串

    文章关键字: c#字符串转换为日期 c#日期转换字符串   字符串转换日期   字符串转换为date   整数转换为字符串   浮点数转换为字符串 字符串转换为时间   将字符串转换为时间   字符转 ...

  4. 将UTC日期字符串转为本地时间字符串,如@"yyyy-MM-dd'T'HH:mm:ssZ"转换为本地时间

    由于苹果商店上线应用24小时内会不稳定,更新提醒可能会陷入死循环,更新提醒需要24小时后弹出,需要把苹果返回的上线时间转换为本地时间故写了下边的方法: //将UTC日期字符串转为本地时间字符串//输入 ...

  5. mysql str_to_date字符串转换为日期

    mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期. 示例:分隔符一致,年月日要一致 select str_to_date('2008-4-2 15:3:28','% ...

  6. Java字符串转换为日期和时间比较大小

    字符串转换为时间: String data = "2014/7/11"; SimpleDateFormat dfs = new SimpleDateFormat("yyy ...

  7. js中字符串转换为日期型

    简介:字符串转日期型函数 传入一个字符串格式的日期,如何转换为日期型的.以下为转换方案. //字符串转换为日期函数,返回日期型(传入的日期格式2014-04-22) function StringTo ...

  8. Python 字符串转换为日期

    应用程序接受字符串格式的输入,但是你想将它们转换为datetime 对象以便在上面执行非字符串操作. 使用Python 的标准模块datetime 可以很容易的解决这个问题.比如: >>& ...

  9. mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式

    mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式 示例:分隔符一致,年月日要用%号 select str_to_date('2008-4-2 15:3:28', ...

随机推荐

  1. Play!framework 项目部署到Tomcat

    Play Framework有自带的服务器,也可部署到其他服务器上.这里讲解下如何将Play的项目部署到Tomcat. 1.准备war包 首先进入play目录: 比如我的: cd C:\play-1. ...

  2. Repository模式介绍汇总

    1.Linq To Sql中Repository模式应用场景 http://www.cnblogs.com/zhijianliutang/archive/2012/02/24/2367305.html ...

  3. Eclipse开发PHP环境配置

    首先准备好软件: 1. Apache,到这里找个最新版本 2. PHP,到这里下载 3. Eclipse IDE for Java EE Developers,到这里下载 4. DLTK Core F ...

  4. Day07 - Python 网络编程 Socket

    1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...

  5. Android自定义View之ProgressBar出场记

    关于自定义View,我们前面已经有三篇文章在介绍了,如果筒子们还没阅读,建议先看一下,分别是android自定义View之钟表诞生记.android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检 ...

  6. Volley完全解析

    从前在学校用的最多的网络请求框架就是AsyncHttpClient,用久了发现这样一个问题,就是代码复用太难,基本上做不到,所以有一段时间又回归了HttpURLConnection和HttpClien ...

  7. android自定义控件实现刮刮乐效果

    只是简单的实现了效果,界面没怎么做优化,不过那都是次要的啦!! 其中主要的彩票视图类和橡皮擦类都是通过代码的方式构建视图,布局文件就一个主activity_main 上代码!!   主activity ...

  8. 远程之SSH

    SSH(Secure Shell的缩写),由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远 ...

  9. pthread

    pthread是UNIX操作系统中创建和控制线程的一系列API,通过了解这些API,可以更加清晰的理解线程究竟是什么. 调用pthread的API首先要包含<pthread.h>这一头文件 ...

  10. JVM工作原理和特点

    操作系统装入JVM,是通过jdk中的java.exe来完成,通过以下4个步骤: 1. 创建JVM装载环境和配置: JVM装入系统,JVM提供的方式是操作系统的动态链接文件.文件就是一个装入路径的问题, ...