格式化后NSDateFormatter错误的字符串

MMM*_*MMM 1 nsstring nsdateformatter ios

我通过字符串参数收到日期,该参数是tempDateString,采用[day month year]格式(例如2005年05月05日):

 NSLog(@"tempdatestring %@", tempDateString);
 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"dd MM YYYY"];
 NSDate *dayDate = [dateFormatter dateFromString:tempDateString];
 NSLog(@"daydate %@", dayDate);
Run Code Online (Sandbox Code Playgroud)

我的问题是,这两个日志不匹配.产出是:

tempdatestring 04 10 2012
daydate 2011-12-24 22:00:00 +0000
Run Code Online (Sandbox Code Playgroud)

我应该在日期格式化程序的日期格式中更改什么才能获得好日期?

Lit*_*T.V 8

2个问题

  • 您的格式错误,@"dd MM yyyy" 区分大小写
  • 使用时区获取正确的值[GMT值]

    NSString *tempDateString=@"04 10 2012" ;
    NSLog(@"tempdatestring %@", tempDateString);
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [dateFormatter setDateFormat:@"dd MM yyyy"];
    NSDate *dayDate = [dateFormatter dateFromString:tempDateString];
    NSLog(@"daydate %@", dayDate);
    
    Run Code Online (Sandbox Code Playgroud)