/ /日付文字列から経過した秒数を取得する方法 - iphone、Objective-C、nsdate、nsdateformatter

日付文字列から経過秒数を取得するには? - iphone、objective-c、nsdate、nsdateformatter

Objective-Cでは、 "Sat、09 Oct 2010 06:14:50 +0000"などの日付文字列から経過した秒数を求めます。

これをどうやってやるの?私はNSDateFormatterの複雑な説明を見失いました。

回答:

回答№1の場合は3

この例では、現在時刻から経過した秒数を示します。

NSString *dateString = @"Sat, 09 Oct 2010 18:14:50 +0000";

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[df setLocale:usLocale];
[usLocale release];

NSDate *date = [df dateFromString:dateString];
[df release];

NSTimeInterval secondsSinceNow = [date timeIntervalSinceNow];

NSLog(@"date = %@", date);
NSLog(@"secondsSinceNow = %f", secondsSinceNow);

電話の地域が英語を話すと、 "Sat"と "Oct"は別の言語で同じことを意味しない場合があるため、日付への変換は失敗します。これを避けるためにdateFormatterのロケールを強制することができます。

日付のフォーマットに使用する文字が見つかります ここに.