14

YouTube JSONC API から文字列を受信して​​いますが、デュレーションは完全な数字、つまり 23:21 ではなく 2321、0:02 ではなく 2 です。これを修正するにはどうすればよいですか?

JSON C

編集:

int duration = [videos valueForKey:@"duration"];
int minutes = duration / 60;
int seconds = duration % 60;

NSString *time = [NSString stringWithFormat:@"%d:%02d", minutes, seconds];
4

7 に答える 7

24

期間の値が実際には秒単位の期間であると仮定すると、分と秒の数を計算し、それらを文字列にフォーマットできます。

int duration = ... // some duration from the JSON
int minutes = duration / 60;
int seconds = duration % 60;

NSString *time = [NSString stringWithFormat:@"%d:%02d", minutes, seconds];
于 2013-02-27T21:44:05.233 に答える
7

これを非常に最適化してみてください

+ (NSString *)timeFormatConvertToSeconds:(NSString *)timeSecs
{
    int totalSeconds=[timeSecs intValue];

    int seconds = totalSeconds % 60;
    int minutes = (totalSeconds / 60) % 60;
    int hours = totalSeconds / 3600;

    return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds];
}
于 2014-08-26T08:53:39.043 に答える
0

最初の文字列を 23 として、2 番目の文字列を 21 として取得し、それらを に変換subStringできます。また、テキストの長さを確認します。2321int

if (text.length < 4)
   //add zeros on the left of String until be of length 4
于 2013-02-27T21:44:14.770 に答える