NSDateFormatter return incorrect date from string

前端 未结 3 450
陌清茗
陌清茗 2020-11-30 13:14

I have a method,

+ (NSDate *) convertToDateFrom:(NSString *) dateString
{
    if (dateString == nil || [dateString isEqual:@\"\"]) return nil; //return nil i         


        
3条回答
  •  失恋的感觉
    2020-11-30 13:43

    The +0000 at the end of the date indicates GMT. All dates are stored relative to GMT; when you convert a date to a string or vice versa using a date formatter, the offset to your time zone is included. You can use NSDateFormatter's -setTimeZone: method to set the time zone used.

    In short, you're not doing anything wrong in your code. Use [df stringFromDate:date]; to see that the date is correct. (You can also use NSDate's -descriptionWithCalendarFormat:timeZone:locale:.)

提交回复
热议问题