2012-01-19 11 views
0

私は中央サーバーを使用するiPhoneチャットアプリケーションを構築しています。 さまざまなクライアントのタイムゾーンを処理するためのベストプラクティスは何ですか?異なるクライアントタイムゾーンを扱うベストプラクティス?

つまり、client1がメッセージをclient2に送信すると、サーバーはタイムゾーンに従ってサーバーのタイムゾーンに応じてメッセージをデータベースに保存します。これはclient1のタイムゾーンとclient2のタイムゾーンと異なる場合があります。
私はこれを管理するので、client2がメッセージを受け取ると、そのメッセージをタイムゾーンに変換する方法を知っているか、あるいはサーバーが変換を行うでしょうか?

答えて

1

まず、時刻をUTCとして保存する必要があります。次に、表示されるときに、タイムゾーンを検出する必要があり、それは/マイナスを追加します。

+0

クライアントでタイムゾーンを検出し、サーバーからローカルタイムに取得したUTC時刻を変換する必要がありますか?客観的なCでそれをする方法を知っていますか? – Eyal

+0

NSDate、NSDateComponents、およびNSDateFormatterのドキュメントを参照してください。 //現在の日付/時刻を取得する NSDate * today = [NSDate date]; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; //ユーザー設定に応じて12HR/24HR(11:25 PMまたは23:25)形式で表示します。 [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; NSString * currentTime = [dateFormatter stringFromDate:今日]; [dateFormatter release]; NSLog(@ "ユーザーの現在の設定時刻:%@"、currentTime); – ysrb

+0

UTCの代わりにtimeIntervalSince1970を使用するとどうなりますか?これは動作しますか?私は本当にこの2つの違いを理解していない。 – Eyal

関連する問題