私は、ブラウンフィールド アプリケーションでユーザー固有のタイム ゾーンを実装するためのソリューションを考え出すことを担当しています。データベースに保存されるすべての日付は、サーバーのローカル時間で保存されます。これらの日付とともに保存されるタイム ゾーンまたはオフセット情報はありません。
これは非常に大規模なアプリケーションであるため、これは大変な作業になると思います。私の懸念は、これを可能な限りリスクを少なくして行うことです。誰もこれを以前にやったことがありますか?もしそうなら、最善のアプローチは何ですか?また、避けるべき落とし穴は何ですか?
現在の考え方は、意味のある時間コンポーネントを持つ日付列のすべてのデータを UTC に変換することです。次に、プレゼンテーション レイヤーで、ユーザーに表示する必要があるときに、datetime オブジェクトを UTC からユーザーのタイム ゾーンに変換する関数を実行する必要があります。
これは、SQL Server 2008 データベースを使用する ASP .NET アプリです。私がこれについて言及するのは、それらのテクノロジーの中に、物事をよりスムーズにするために使用できる、私が知らない便利なツールがあるかもしれないからです.