我創建了類別擴展名以擴展NSDate
和NSString
以支持簡單的方法將NSDate
轉換爲NSString
,反之亦然。當我進行一個小測試時,日期似乎匹配,但試圖比較沒有。 這裏是我如何轉換NSDate
到NSString
:將NSDate轉換爲NSString並返回不會返回相同的日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
return [dateFormatter stringFromDate:self];
這裏是我拿回來NSDate
:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
return [dateFormatter dateFromString:self];
這是我跑的測試:
NSDate *now = [NSDate date];
NSLog(@"%@", now); // 2014-12-25 21:59:45 +0000
NSString *dateString = [now stringRepresentation];
NSLog(@"%@", dateString); // 2014-12-25T23:59:45+0200
NSDate *converted = [dateString dateRepresentation];
NSLog(@"%@", converted); // 2014-12-25 21:59:45 +0000
BOOL result1 = [now isEqualToDate:converted]; // false
BOOL result2 = [now compare:converted] == NSOrderedSame; // false
NSComparisonResult result3 = [now compare:converted]; // NSOrderedDescending
就是這樣,謝謝!我創建了自己的比較方法,並按預期工作。 – imas145