私は、メッセージがユーザーのローカルタイムゾーンまたはローカルタイムゾーンで送信された日時を取得したいと考えています。私のメッセンジャーのボットユーザーはどのようにしてローカルタイムゾーンを取得できますか?
どのように私のボットからそれを得ることができますか? facebookはタイムスタンプを返しますが、そのタイムスタンプがユーザーのローカルタイムゾーンに基づいて計算されるかどうかは疑問です。
私は、メッセージがユーザーのローカルタイムゾーンまたはローカルタイムゾーンで送信された日時を取得したいと考えています。私のメッセンジャーのボットユーザーはどのようにしてローカルタイムゾーンを取得できますか?
どのように私のボットからそれを得ることができますか? facebookはタイムスタンプを返しますが、そのタイムスタンプがユーザーのローカルタイムゾーンに基づいて計算されるかどうかは疑問です。
The documentationは、この例を示します。この例では
{
"sender":{
"id":"USER_ID"
},
"recipient":{
"id":"PAGE_ID"
},
"timestamp":1458692752478,
"message":{
"mid":"mid.1457764197618:41d102a3e1ae206a38",
"text":"hello, world!",
"quick_reply": {
"payload": "DEVELOPER_DEFINED_PAYLOAD"
}
}
}
timestamp
フィールドは、ミリ秒単位の面でUnix timestampです。 Unixのタイムスタンプは、で、常にであり、Coordinated Universal Time (UTC)で表示されます。言い換えると、エポック基準点は、1970年1月1日00:00:00.000 UTCです。
したがって、タイムゾーンはメッセージ本文とは関係ありません。メッセージが表示されたら、UTCから希望のタイムゾーン(おそらくユーザーのローカルタイムゾーン)に変換するだけです。
ありがとう、私はどのようにユーザーのタイムゾーンを取得することができます(信頼できるタイムゾーンは、彼/彼女はボットを使用します:アフリカにいた場合は+03:00、アメリカに移動してタイムゾーンを自動的に変更する必要があります) FacebookのユーザータイムゾーンをUTCに変換するか、またはそのユニックスタイムスタンプを送信する直前にUTCを直接使用するかわからないので、utcからユーザーのタイムゾーンに変換するのは危険です。 – aidonsnous
イベントが発生します。タイムスタンプ(UTC)が取得されます。それには何もありません。たとえFacebookが何らかのローカルタイム値で開始し、それを変換したとしても(それは不合理になります)、APIは依然としてUTCベースの結果を提供しています。あなたはそれを期待することができます。ここには何も危険はない。 –
*あなたが現地時間で入力をキャプチャしている場合、はい - 確かに入力が入っているタイムゾーンを知る必要があります。それから比較する前にそれをUTCに変換します。 –
私は誰がこれを投票したのかわからないが、私はそれが彼が投票を下す理由を人に尋ねる方が良いstackoverflowだろうと思う。それは質問を投稿した人にも役立ちます。私は実際に私のボットユーザーの本当のタイムゾーンを得る方法についてのガイダンスが必要です。 – aidonsnous