0

日付を確認し、TheDayBeforeYesterday、Yesterady、Today、Tomorrow の 4 つの形式で結果を取得したいと考えています。

日付が 1 つあり、その日付を現在の日付と比較したい。

今、私はこれを行っていますが、これは正の数で日を与えるだけなので、日付がなくなったのか、それともまだその日付になるのかわかりません。

-(void)getDateDiffrenceForBirthday:(NSString *)strOriginalDate  

{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
    NSDate *originalDate = [formatter dateFromString:strOriginalDate];

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [calendar components:NSDayCalendarUnit
                                               fromDate:originalDate
                                                 toDate:[NSDate date]
                                                options:0];

    NSLog(@"Days To Go %d",components.day);

}
4

2 に答える 2

1

以下のコードを試して、日付の違いを取得できます

-(void)getDateDiffrenceForBirthday:(NSString *)strOriginalDate  

{
    NSDate *originalDate = [formatter dateFromString:strOriginalDate];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSUInteger unitFlags = NSDayCalendarUnit;
    NSDateComponents *components = [gregorian components:unitFlags fromDate:originalDate toDate:[NSDate date] options:0];

    NSLog(@"Days To Go %d",[components day]+1);

}

ソース

于 2013-12-24T09:23:39.310 に答える