不从字符串中获取日期?

时间:2016-01-07 08:10:35

标签: ios objective-c date nsdateformatter

我有一个包含日期的字符串。我正在尝试从字符串中获取日期,但我找不到正确的格式。 这是字符串:

NSString *lastModified=@"Thu, 07 Jan 2016 07:49:17 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss %Z"];
NSDate *lastDate = [dateFormatter dateFromString:lastModified];

lastDate总是零。 有帮助吗?谢谢!

EDIT! 我不知道它是否重要,但日期是从NSUrl

的负责人处获得的
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:imageUrl];
[request setHTTPMethod:@"HEAD"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;

NSString *lastModified = [[httpResponse allHeaderFields] objectForKey:@"Last-Modified"];

我从Head获得NSUrl,需要查看Last-Modified的日期,并与我在数据库中的日期进行比较。

这是httpResponse:

<NSHTTPURLResponse: 0x15d00800> { URL: url } { status code: 200, headers {
    "Accept-Ranges" = bytes;
    Connection = "keep-alive";
    "Content-Length" = 60065;
    "Content-Type" = "image/png";
    Date = "Thu, 07 Jan 2016 08:27:50 GMT";
    Etag = "\"568d4c77-eaa1\"";
    "Last-Modified" = "Wed, 06 Jan 2016 17:18:47 GMT";
    Server = nginx;
    "X-Powered-By" = PleskLin;
} }

这就是我所拥有的所有信息。

2 个答案:

答案 0 :(得分:1)

尝试:

NSString *lastModified= @"Thu, 07 Jan 2016 07:49:17 GMT";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EE, dd LLL yyyy HH:mm:ss zz"];
NSDate *lastDate = [dateFormat dateFromString:lastModified]; 

编辑:请记住,NSDate是UTC格式。 (不是GMT)

答案 1 :(得分:1)

尝试: [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];