// 纯数字日期
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. HDU3727 - Jewel(主席树)

    题目大意 对一个序列进行以下四种操作: 1.Insert x 在序列尾部插入x 2.Query_1 s t k 查询区间[s,t]的第k小 3.Query_2 x 查询x的在序列中排名 4.Query ...

  2. Codeforces 295C Greg and Friends

    BFS+DP.dp[i][j][0]表示有i个50kg,j个100kg的人在左岸,dp[i][j][1]表示有i个50kg,j个100kg的人在右岸.用BFS求最短路的时候记录到达该状态的可能情况. ...

  3. 扫描线专题 hdu1255

    hdu1255 求覆盖至少两次的面积,和直接求覆盖面积比,就是保证cover>1就可以了. 没有进行lazy操作,因为每一次更新伴随着询问,感觉没有必要.982MS水过. #include &l ...

  4. .NET版本问题 转[.Net Framework Initialization Error – Unable to find a version of the runtime to run this applicatio]

    转自:http://blog.csdn.net/rrrrssss00/article/details/7069009 dev注册程序问题部署一个VS2010开发的程序时遇到 了一个非常奇怪的问题,客户 ...

  5. Android:从程序员到架构师之路Ⅰ

    一般而言,人们大多先学开发(代码)的技术,随后才学(架构)设计的方法.然而,在实际做事时,却是先设计,随后才写出代码来.敏捷过程则让设计与写码迭代循环下去,一直到完成为止.在本课程里,就遵循敏捷的迭代 ...

  6. 用document.title=“xxx”动态修改title,在ios的微信下面不生效

    单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js修改title.常规做法如下,可惜在iO ...

  7. Windows, Eclipse下开发Heritrix 3.1 (一)环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. DirectoryExists

    判断文件夹是否存在 关键点 GetFileAttributes The GetFileAttributes function retrieves attributes for a specified  ...

  9. hello world是怎样运行的?

    关于<深入理解计算机系统> “这本书的中译名为“深入理解计算机系统”,我非常,十分,以及百分之一百二十地不满意.我这么说的原因在于这个译法完全扭曲了书的本意.如果直译原书名,应该是类似于“ ...

  10. create database xx 或者show database 没有任何反应

    命令是以:结束的,你忘记了,记住,是英文状态下的: