0

这是从我的服务器字符串的示例结果:

2011 年 12 月 24 日星期六 14:33:43 +0000

我正在尝试将其转换为 NSDate 并且一直为空。

这是我的代码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss +0000"];
    NSDate *date = [dateFormat dateFromString:dateString];  

为什么我会得到空值?

4

4 回答 4

3

它在这里工作正常。您可能希望您的格式是这样的:

@"EEE, dd MMM yyyy HH:mm:ss z"

否则,如果服务器返回的时区不是 GMT,它将失败。

于 2012-06-06T16:49:19.397 回答
1

试试这个

NSString *dateString =@"Sat, 24 Dec 2011 14:33:43 +0000";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *date = [dateFormat dateFromString:dateString];
NSLog(@"%@",date);
于 2014-02-28T07:19:01.683 回答
0

您的代码一定有其他问题。检查您分配或分配 dateString 的位置。一开始可能是空的。

于 2012-06-06T16:49:56.203 回答
0

刚刚用你说你从服务器获取的字符串尝试了你的代码,它工作正常。我什至尝试了 mvds 所说的使用[dateFormat stringFromDate:date]它也返回正确的日期

于 2012-06-06T16:50:35.893 回答