java - 在 App Engine 上部署应用程序后出现时间戳问题

标签 java sql google-app-engine timezone google-cloud-sql

我正在开发一个应用程序,每当发生任何数据库操作时,都需要在 Sql 列中记录时间戳(默认设置为 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)。

在 App Engine 上部署应用程序后,我确实在 Sql 列中获得了时间戳,但我不知道它从哪里选取时间戳(我猜这是来自应用程序运行的服务器或正在运行的 Google Cloud SQl 的服务器的时间戳)上)。

如果我需要相同的时区信息,如何获取?或者是否有更好的方法来记录此类信息,例如使用 java 代码 java.util.Date date= new java.util.Date(); 生成时间戳并将其存储在 sql 列和哪个时区中/那时它会选择吗?

最佳答案

默认情况下,时间通常以 GMT 格式存储。当您检索它时,您可以使用以下内容:
选择日期时间(current_timestamp, '本地时间'); 它应该是你所在时区的时间。这只是一个例子,显然存在变化。实际上有很多方法可以解决这个问题,您可以使用设置为特定时区的 Java 时间戳并将其存储起来。

关于java - 在 App Engine 上部署应用程序后出现时间戳问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122632/

相关文章:

javax.persistence.RollbackException : Transaction marked as rollbackOnly

java - 在 mongo 和 spring boot 中使用具有未确定架构的 querydsl

c# - 通过代码从 .net 备份 Oracle 数据库

php - MySQL 查询不考虑 GROUP BY

python - Google App Engine 数据存储到 BigQuery 进程的 UnicodeEncodeError

java - 旋转屏幕时丢失数据

java - 将插件移至父 pom

sql - 表连接是否会破坏 Access 查询中的 Order By 子句?

python - channel API 存在未触发

java - 在谷歌应用程序引擎中初始化objectify