0

I have a mobile application which authenticates the user via a phone number (similar to Whatsapp's sign in process).

After the user has logged in, he can create a TODO notes. When he creates a note he also fills in a date.

In the DB, I want to normalize this date to UTC.
So for example, if the user filled the date: 06/07/2015 17:00:00
And the UTC offset in his country is +3
Then 06/07/2015 14:00:00 will be saved in the DB.

In order to do this, I need to know the UTC offset of the user's country.

When the user registered the only two things he provided are:

  • country code
  • phone number

Those are not enough to know the UTC offset, because a user who entered a country code of US can still be in several different time zones.

I am also using libphonenumber to parse the incoming values mentioned above, but it can't get me the offset I want.

How can this be solved ? (How other apps like Viber, Line and Whatsapp handle this scenario?)

4

2 に答える 2

1

あなたの質問を次のように言い換えたいと思います。

電話番号からタイムゾーンを取得するにはどうすればよいですか?

答えは、いいえ、電話番号 (国コードを含む) だけからタイムゾーンを取得することはできません。

私がすることは、DateTimeOffsetタイムゾーンを含む完全な 、またはDateTime何らかの「位置」を含む を送信しているクライアントを見て、サーバー上でそれを自分で引き出しようとすることです。

于 2015-07-06T15:27:07.507 に答える
0

Alexi が言ったように、ここで行うべき最善のことは、サーバー側で UTC 変換を処理しないことです。代わりに、クライアントは既に UTC で日付を送信します。UTC との間の変換は、OS (ロケールを意味する) で定義された時間オフセットに従って、常にクライアント側で行われます。サーバーは、クライアントから UTC 日付のみを取得します。

于 2015-07-06T22:37:37.783 に答える