sarwar026:
私は私の現在のプロジェクトで、以下の仕様を使用しています(生産)
- OS:CentOSの7
- データベース:MySQLの
- Javaの8
- 休止状態
- Tomcatサーバー8
データベースは、アプリケーション・サーバーとは別のサーバーにあるが、両方が同じLAN内にあります。
MySQLのテーブル内のデータ型は次のとおりです。date
日付のみを格納するとdatetime
、時間とともに日付を保存するため。
問題は、MySQLのすべての日1日早くapplcationから提供された日付よりも保存されます。私は今まで、以下のことを試してみましたが、それでも運きました:
- 私は、アジア/ダッカとしてアプリケーションとデータベース・サーバーの両方のためのタイムゾーンを設定し、あまりにも私のJavaアプリケーションからこれをチェックしています。
- 私はまた、Tomcatサーバー(setenv.sh)ファイルにタイムゾーンを設定しています。
- 私はまた、日付も入力日と同じであるのlog4jプロパティファイルにTRACEにより休止状態から生成されたSQLをチェックしています。
私は何をしないのですか?誰もがお勧めすることはできますか?
sarwar026:
問題に関するあなたの経験を共有するためのすべてに感謝します。
最後に、私は変更することで、それを解決serverTimezone
してmysqlの接続文字列の属性をdispatcher-servlet
、私のJava Webアプリケーションの。
<property name="url" value="jdbc:mysql://x.x.x..x:3306/dbname?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Dhaka" />