iphone - 将字符串转换为 NSDate 对象

标签 iphone objective-c ios nsdate date-format

<分区>

我从网络服务中获取字符串“2011-09-24T00:30:00.000-07:00”。 我不知道这种格式是什么,想在 objective-c 中转换为日期对象。

所以任何人都知道如何将这个字符串转换为日期。

非常感谢

最佳答案

从这种格式获取日期/时间有一个小问题,时区中的“:”需要删除,Apple 不处理这种情况,也不是正确的 UTS 格式。这是一个例子:

NSString *dateString = @"2011-09-24T00:30:00.000-07:00";
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:NSMakeRange(dateString.length-3, 1)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);

NSLog 输出:日期:2011-09-24 07:30:00 +0000

作为显示刚创建日期的测试:

NSString *testDateString = [formatter stringFromDate:date];
NSLog(@"date: %@", testDateString);

NSLog 输出:日期:2011-09-24T03:30:00.100-0400

请注意,时间和时区已被 NSLog 转换为我的本地时区,考虑到日期/时间与原始时间相同。

关于iphone - 将字符串转换为 NSDate 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538178/

上一篇:ios - 如何让 UITableView.tableHeaderView 中的文本居中?

下一篇:ios - Cocos2D CCScenes 的重要性?

相关文章:

iphone - 如何在 Objective-C 中生成一组点的热图

iphone - 圆圈到圆圈的碰撞 react - 同等优先级

ios - 在 Objective-C 中设置日期格式

objective-c - 尝试检索字符串值时发送到实例的无法识别的选择器

ios - 跟踪分配/内存使用情况并逐步执行 XCode 中的代码?

iphone - 如何使用 block 为我的整个应用程序共享的每个磁盘上的文档创建一个全局 UIManagedDocument 实例?

c# - GC 语言的优化,有什么想法吗?

iphone - 什么时候应该使用 “self” 关键字?

ios - NSMutableURLRequest 的响应不包含信息

ios - "Time Change"防止游戏作弊