0

ここに私のコードがあります

"時間間隔" = 1372418789000;

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:1372418789000];
NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"formattedDateString: %@", formattedDateString);

出力は、formattedDateString: 45460-03-21 10:53:20 です。

しかし、私の必要な出力は 2013-06-28 04:26:29 America/Los_Angeles です

4

2 に答える 2

14

間隔はミリ秒単位で表されますが、 は秒単位で表されるdateWithTimeIntervalSince1970間隔を期待しています。数値を 1000 で割り、正しい値を取得します。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:1372418789];
// Divided by 1000 (i.e. removed three trailing zeros) ^^^^^^^^
NSString *formattedDateString = [dateFormatter stringFromDate:date];
// Fri, 28 Jun 2013 11:26:29 GMT
NSLog(@"formattedDateString: %@", formattedDateString);
于 2013-06-28T12:48:26.583 に答える