2


1

Objective-cで時間を確認していますか?

hh:mm形式で現在の時刻を取得するにはどうすればよいですか? AMとPMを区別し、現在の時刻と2回目の時刻を比較できるようにする必要があります。 私はそれがばかげた機能だと確信していますが、私はそれを理解できないようです。

1 Answer


3


現在の日付と日付の比較:

NSDate * now = [NSDate date];
NSDate * mile = [[NSDate alloc] initWithString:@"2001-03-24 10:45:32 +0600"];
NSComparisonResult result = [now compare:mile];

NSLog(@"%@", now);
NSLog(@"%@", mile);

switch (result)
{
    case NSOrderedAscending: NSLog(@"%@ is in future from %@", mile, now); break;
    case NSOrderedDescending: NSLog(@"%@ is in past from %@", mile, now); break;
    case NSOrderedSame: NSLog(@"%@ is the same as %@", mile, now); break;
    default: NSLog(@"erorr dates %@, %@", mile, now); break;
}

[mile release];

日付のフォーマットには、 `NSDateFormatter`があります。 詳細については、http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/DatesAndTimes/DatesAndTimes.html [cocoaの日付と時刻のプログラミングガイド]およびhttp://developer.apple.com/をご覧ください。 mac / library / documentation / Cocoa / Conceptual / DataFormatting / Articles / dfDateFormatting10_4.html#// apple_ref / doc / uid / TP40002369 [日付フォーマッター]、リンクからの例:

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];

NSDate *formatterDate = [inputFormatter dateFromString:@"1999-07-11 at 10:30"];

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"HH:mm 'on' EEEE MMMM d"];

NSString *newDateString = [outputFormatter stringFromDate:formatterDate];

NSLog(@"newDateString %@", newDateString);
// For US English, the output is:
// newDateString 10:30 on Sunday July 11