iOS 中解析 ISO8601 时间的问题

发布于 2024-12-20 21:40:10 字数 441 浏览 1 评论 0原文

我正在尝试将此字符串“2011-11-23T17:59:00Z”转换为 NSDate。

我见过很多人都有这个问题,但每个人的格式都略有不同。我一直无法破解解决方案。

我尝试过如下代码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
dateFormat.timeStyle = NSDateFormatterFullStyle;
[dateFormat setDateFormat: @"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSString* date = ""2011-11-23T17:59:00Z"";
NSString *dateString = [dateFormat stringFromDate: date]; 

dateString 总是返回 NULL

I'm trying to convert this string "2011-11-23T17:59:00Z" to an NSDate.

I've seen many people have this problem, but everyone has a slightly different format. I haven't been able to hack a solution.

I've tried code such as:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
dateFormat.timeStyle = NSDateFormatterFullStyle;
[dateFormat setDateFormat: @"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSString* date = ""2011-11-23T17:59:00Z"";
NSString *dateString = [dateFormat stringFromDate: date]; 

dateString always comes back NULL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只为守护你 2024-12-27 21:40:10

NSDateFormatter stringFromDate 接受一个 NSDate 对象,并且您向它传递一个字符串。
http://开发人员。 apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html

尝试NSDateFormatter dateFromString。

如果您使用 dateFromString:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"yyyy-MM-dd'T'HH:mm:ssZ"];
NSString* dateStr = @"2011-11-23T17:59:00Z";
NSDate *date = [dateFormat dateFromString:dateStr];

NSLog(@"date: %@", date);

输出:

2011-12-14 00:34:57.587 Craplet[440:707] date: 2011-11-23 22:59:00 +0000

NSDateFormatter stringFromDate takes an NSDate object and you're passing it a string.
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html

Try NSDateFormatter dateFromString.

If you use dateFromString:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"yyyy-MM-dd'T'HH:mm:ssZ"];
NSString* dateStr = @"2011-11-23T17:59:00Z";
NSDate *date = [dateFormat dateFromString:dateStr];

NSLog(@"date: %@", date);

Outputs:

2011-12-14 00:34:57.587 Craplet[440:707] date: 2011-11-23 22:59:00 +0000
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文