私は現在、ユーザー (それぞれのタイムゾーン) が 1 日を通して受け取る特定の通知の「カットオフ」時間を設定する必要があるプロジェクトに取り組んでいます。たとえば、ユーザーは、午前 8 時より前と午後 7 時 30 分までにアラートを受け取りたくないと言うでしょう。このユーザーは CST にあり (各ユーザーのタイム ゾーン情報が保存されます)、「サーバー」は EST にあります。サーバーは、どのユーザーに通知するかなどのすべての論理的な決定が行われる場所です。
比較目的でのみ時間部分を変換するベストプラクティスは何ですか?
私の現在の考えは、ユーザーが設定した時刻、たとえば「午前 7 時」を取り、完全な DateTime オブジェクトを作成し、それを .ToUniversalTime() として保存することです。サーバーでは、DateTime オブジェクトを現地時間に変換し、時間部分のみを比較できます。
「より良い」解決策や、同様の問題に取り組んだ人からのアドバイスはありますか?
ありがとう!