NSDate from NSString , shows the previous day

2019-09-13 10:42发布

问题:

I have s imple NSDate from NSString as below

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
                    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
                    issueDatabase.album_date = [dateFormatter dateFromString:albumXML.album_date];

but for some reason I'm getting the previous day instead of the current for eample if my

albumXML.album_date is equal 2011-09-01 I'm getting the following stored in my database 2011-08-31

回答1:

You need to set a timezone to your dateFormatter:

[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];

If you don't, you're probably getting the GMT timezone, which could appear in the past depending on where you are on the planet...