0

iOS 5では完全に正常に機能するコードがいくつかありますが、iOS6では機能しません。

これはTimeIntervalSinceDateメソッドです...

私はこの問題を抱えている他の人を見つけましたが、解決策はありません:

これが私のコードです:

  NSString *origDate = @"2012-11-29 19:43:30";

   NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setFormatterBehavior:NSDateFormatterBehavior10_4];
    [df setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSDate *convertedDate = [df dateFromString:origDate];
    [df release];


    NSDate* sourceDate = [NSDate date];

    NSLog(@"sourceDate: %@", sourceDate);
    NSLog(@"convertedDate: %@", convertedDate);

    NSTimeInterval ti = [ sourceDate timeIntervalSinceDate:convertedDate];

    NSLog(@"interval double: %f", ti);

iOS 5では、これを値として取得します。

interval double: 711.113610

iOS 6では、次のようになります。

interval double: 31623151.242078

助言がありますか?

ありがとうございました

4

2 に答える 2

3

Apple がDate Formattersについて述べていることを参照してください。

よくある間違いは、YYYY を使用することです。yyyy は暦年を指定し、YYYY は ISO 年週カレンダーで使用される (「年の週」の) 年を指定します。ほとんどの場合、yyyy と YYYY は同じ数値になりますが、異なる場合もあります。通常、暦年を使用する必要があります。

于 2012-11-30T01:07:26.660 に答える
0

iOSはUnicodeバージョンを5.1と6の間で切り替えました。

iOS6.0 - tr35-19の代わりにtr35-25を使用する

于 2012-11-30T01:10:15.637 に答える