0

2012 年 6 月 21 日に対応するこのティック値があります"634758517020305000"。ティック値を次のように NSDate オブジェクトに変換しようとしました。

NSString *str = @"634758517020305000";
NSInteger offset = [[NSTimeZone defaultTimeZone] secondsFromGMT];
NSDate *date = [[NSDate dateWithTimeIntervalSince1970:
                 [[str substringWithRange:NSMakeRange(0, [str length])] intValue]]
                dateByAddingTimeInterval:offset];
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) {
    dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterShortStyle];
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle];
    NSString *fourDigitYearFormat = [[dateFormatter dateFormat] stringByReplacingOccurrencesOfString:@"yy" withString:@"yyyy"];
    [dateFormatter setDateFormat:fourDigitYearFormat];
}

// There you have it:
NSString *outputString = [dateFormatter stringFromDate:date];

しかし、私は出力を得ました: 1/19/2038. 誰かが私が間違っている場所を知っているなら、私に知らせてください。

4

1 に答える 1

0

あなたUnix timestampsは間違っています。1340236800 である必要がありますここで
Unix タイムスタンプを確認してください

于 2012-06-22T06:02:13.650 に答える