2つの日付を比較していますが、2つの日付を文字列変数に入力すると機能しますが、これらの値をデータ比較メソッドに渡すと機能しないのはなぜですか?
これは私が使用しているコードですか?
NSString *dateString =@"2013-05-12 22:10:02";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:MM:SS"];
NSDate *dateFromString = [[NSDate alloc] init];
// voila!
dateFromString = [dateFormatter dateFromString:dateString];
NSString *dateString1 = @"2013-03-04 07:59:08";
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:MM:SS"];
NSDate *dateFromString1 = [[NSDate alloc] init];
// voila!
dateFromString1 = [dateFormatter dateFromString:dateString1];
if ([dateFromString compare:dateFromString1] == NSOrderedDescending)
{
NSLog(@"1 is later than 2");
} else if ([dateFromString compare:dateFromString1] == NSOrderedAscending)
{
NSLog(@"1 is earlier than 2");
} else
{
NSLog(@"dates are the same");
}
**メソッドに日付 (nsstring 形式) を渡す場合
(int)compareDate:(NSString *)date1:(NSString *)date2
その方法で私は上記の比較コードを書いたので、この方法を次のように呼び出しています
[self compareDate:date1:date2]
そして、私は常に「日付は同じ」値を取得しています???? 日付を手動で入力すると、正確な答えが得られます??それはなぜですか?**