Invalid date in NSDateFormatter

self.dateFormatter = [[NSDateFormatter alloc] init]; [self.dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; [self.dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; [self.dateFormatter setDateFormat:@"yyyyMMdd"]; NSDate *date = [NSDate date]; NSString *dateString = [self.dateFormatter stringFromDate:date]; 

this code sometimes returns me an incorrect date such as 201300090005. I do not understand why.

+4
source share
1 answer

I tried something like this, but it always works great for me: -

 NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]autorelease]; [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; [dateFormatter setDateFormat:@"yyyyMMdd"]; NSDate *date = [NSDate date]; NSString *dateString = [dateFormatter stringFromDate:date]; NSLog(@"yourDateString=%@",dateString); 
0
source

Source: https://habr.com/ru/post/1501445/


All Articles