0

重複の可能性:
Objective-C のファジー日付アルゴリズム
iPhone で NSTimeInterval を年、月、日、時間、分、秒に分解するにはどうすればよいですか?

NSTimeInterval の大きさに応じて、「1 時間」や「2 分 10 秒」などのメディア アイテムの再生時間を出力することに関心があります (固定形式はありません)。残念ながら、Cocoa Touch が提供するクラスはありません。

車輪の再発明で時間を無駄にする前に、誰かがその実装を勧めてくれるかどうか尋ねたいと思います。これはよく使われるものだと思いますが、ウェブ上でそのような機能を提供するライブラリ/スニペットを見つけることができません。

4

1 に答える 1

1

あなたはこのようなことをすることができます:

- (NSString*)timeIntervalStringforDouble:(double)timeInterval {
NSString *intervalString=@"";
NSInteger hours = (int)floor(timeInterval/3600.0);
double remainder = timeInterval-(hours*3600);
NSInteger minutes = (int)floor(remainder/60.0);
NSInteger seconds = (int)round(remainder-(minutes*60));
NSString *temporalSegment = @"hour";
if (hours) {
    if (hours>1) temporalSegment = @"hours";
    intervalString = [intervalString stringByAppendingFormat:@"%d %@ ",hours,temporalSegment];
}
if (minutes || hours) {
    temporalSegment = (minutes==1)? @"minute":@"minutes";
    intervalString = [intervalString stringByAppendingFormat:@"%d %@ ",minutes,temporalSegment];
}
if (seconds || minutes) {
    temporalSegment = (seconds==1)?@"second":@"seconds";
    intervalString = [intervalString stringByAppendingFormat:@"%d %@",seconds, temporalSegment];
}
return intervalString; 
}

句読点を付けて、好みに合わせてフォーマットします。

于 2012-08-13T21:04:00.347 に答える