1

方法 dateFromString 总是返回大于一小时的时间。例子:

字符串“2013-08-31 00:00:00 ”-> NSDate“2013-08-31 01:00:00 MSK

字符串“2013-08-31 11:59:59 ”-> NSDate“2013-08-31 12:59:59 MSK

我试试这个:

[dateFormat setTimeZone:[NSTimeZone localTimeZone]]; and 
[dateFormat setTimeZone:[NSTimeZone defaultTimeZone]];

结果是一样的...

和这个:

[dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

字符串“2013-08-31 00:00:00 ”-> NSDate“2013-08-31 05:00:00 MSK ”(+4 小时)

我需要得到与字符串相同的时间:

字符串“2013-08-31 00:00:00”-> NSDate“2013-08-31 00:00:00 MSK”

我该怎么做呢?

4

1 回答 1

0

使用以下它对我来说工作正常:

+(NSString *)getDateInStringFormat:(NSDate *)creationDate {

    NSDateFormatter *createDateFormatter = [[NSDateFormatter alloc]init];
    [createDateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
    [createDateFormatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss"];
    NSString *currentDateString = [createDateFormatter stringFromDate:creationDate];
    //NSLog(@"Prfile creation date is = %@",ProfileCreationDate);
    return currentDateString;
}
于 2013-08-13T14:02:08.377 回答