在 ios 中将 NSString(Wed Jul 29 14:46:11 +0000 2015)转换为 NSDate 的日期格式

Date formate to convert NSString (Wed Jul 29 14:46:11 +0000 2015) to NSDate in ios

我将 NSString 格式的日期设置为 "Wed Jul 29 14:46:11 +0000 2015"。我已尝试将此字符串转换为 NSDate 的所有可能方法。但是找不到字符串类型的正确格式。

有人可以帮忙或建议将其转换为 NSDate。

代码如下:

    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    format.dateFormat       = @"EEEE MM dd HH:mm:ss Z YYYY";
    //[format setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
    NSLocale *locale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"];
    [format setLocale:locale];
       NSDate *date = [format dateFromString:@"Wed Aug 19 17:36:46 +0000 2015"];
    NSLog(@"converted date is %@",date);* 

但它返回错误的日期作为转换日期是 2014-12-24 17:36:46 +0000

谢谢。

您需要将 NSDateFormatterdateFormat 设置为 EEEE MM dd HH:mm:ss Z YYYY

您可以使用以下代码将指定的字符串转换为日期。

Objective C:

NSString *string        = @"Wed Jul 29 14:46:11 +0000 2015";
NSDateFormatter *format = [[NSDateFormatter alloc] init];
format.dateFormat       = @"EEEE MMM dd HH:mm:ss Z yyyy";
NSDate *date            = [format dateFromString:string];

Swift:

var dateStr          = "Wed Jul 29 14:46:11 +0000 2015"
var formatter        = NSDateFormatter();
formatter.dateFormat = "EEEE MMM dd HH:mm:ss Z yyyy"
var date             = formatter.dateFromString(dateStr)

您确定:

  • 调用 dateFromString() 时 NSDateFormatter 的格式是否正确?
  • 您的语言环境正确吗?
  • 你查过返回的任何错误吗?

请 post 代码和您的失败​​消息/结果。 参见 documentation and related SO post

你可以关注这个。对你有帮助。

NSString *dateString = @"Wed Jul 29 14:46:11 +0000 2015";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEEE MMMM dd yyyy HH:mm:ss Z yyyy"];

NSDate *dateFromString = [[NSDate alloc] init];

dateFromString = [dateFormatter dateFromString:dateString];