OGeek|极客世界-中国程序员成长平台

标题: iphone - 将 .net 日期时间字符串解析为 Objective-C 中的 NSDate 对象 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 06:54
标题: iphone - 将 .net 日期时间字符串解析为 Objective-C 中的 NSDate 对象

我有一个包含 .net 日期时间 (rawData) 的字符串,我正在尝试使用 NSDateFormatter 将其解析为 NSDate 对象。我认为我的格式字符串可能是错误的,因为 dateFromString: 方法返回 nil。谁能帮我解决这里的问题?

NSString *rawData = @"2009-10-20T06:01:00-07:00";
//Strip the colon out of the time zone
NSRange timezone = NSMakeRange([data length] - 3, 3);
NSString *cleanData = [rawData stringByReplacingOccurrencesOfString":" withString"" options:NSCaseInsensitiveSearch range:timezone ];

//Setup a formatter and parse it into a NSDate object
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat"yyyy-MM-ddThh:mm:ssZ"];
NSDate *result = [df dateFromString: cleanData]; //Result is nil



Best Answer-推荐答案


在 iOS 6.0 及更高版本中,添加了用冒号分隔小时和分钟的时区表示。(ZZZZZ 或备用z)请参阅以下链接 Date Formats

这使得代码非常简单

NSString *dateString = @"2009-10-20T06:01:00-07:00";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"%@",date);

关于iphone - 将 .net 日期时间字符串解析为 Objective-C 中的 NSDate 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333328/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4