How to convert NSString to NSDate using NSDateForm

2019-07-23 20:23发布

I getting the date from the webservice like "2012-07-03 07:26:48". I have saved in NSString after parsing from webservice. While convert the NSString to NSDate used below code,

    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

    NSString *dateStr = @"2012-07-03 07:26:48";
    NSDate *date = [dateFormatter1 dateFromString:dateStr];
    NSLog(@"Date : %@", date);
   The NSLog value is "2012-07-03 01:56:48 +0000";

The NSLog value is "2012-07-03 01:56:48 +0000"; I don't know why the time has changed. Can anyone please help me to do this?

3条回答
Anthone
2楼-- · 2019-07-23 20:38

By default,Date is saved in utc format while converting string to nsdate... you can get original time from date as a string..if you want to change timezone, change it using dateformatter.. otherwise dont change

查看更多
老娘就宠你
3楼-- · 2019-07-23 20:48

You have to set the time zone of the NSDateFormatter.

查看更多
兄弟一词,经得起流年.
4楼-- · 2019-07-23 20:51

You need to put timezone as:

theDateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

Because it is considering GMT time format.

查看更多
登录 后发表回答