-1

アプリで時間を設定する必要があります。サーバーからタイム スタンプ (GMT) を取得しました。ユーザーの現在のタイム ゾーンに基づいて、そのタイム スタンプを日付に変換する必要があります。どのように可能ですか?

NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:@"1340907963"];

 NSDateFormatter *dFormat = [[[NSDateFormatter alloc] init] autorelease];
[dFormat setDateStyle:NSDateFormatterMediumStyle];

[dFormat setDateFormat:@"d.MM.yyyy"];

NSString *theDate = [dFormat stringFromDate:date];

これが、タイムスタンプを日付に変換した方法です。そして、2012 年 6 月 20 日 23:55 のようなものを出力しました。しかし、私の実際の時間は18:55です

4

2 に答える 2

1

受け取った値は、それを使用して変換するためのUNIX時間(1970年以降の間隔)です。

NSString * timeStamp = @"1340907963";
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:timeStamp];

次に、それを文字列に変換します

NSDateFormatter *dFormat = [[[NSDateFormatter alloc] init] autorelease];
[dFormat setTimeZone:[NSTimeZone defaultTimeZone]];
[dFormat setDateFormat:@"dd.MM.yyyy HH:mm:ss zzz"]; 
NSString *theDate = [dFormat stringFromDate:date]; 
NSLog(theDate); // 28.06.2012 21:26:03 GMT+03:00
于 2012-06-28T13:32:24.947 に答える
0

このコードを試してください:

NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:@"1340907963"];

NSDateFormatter *dFormat = [[[NSDateFormatter alloc] init] autorelease];
[dFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dFormat setDateStyle:NSDateFormatterMediumStyle];
[dFormat setDateFormat:@"d.MM.yyyy"];

NSString *theDate = [dFormat stringFromDate:date];
于 2012-06-28T13:30:12.250 に答える