日期时间在应用程序中正确,但在 mysql [时区] 中错误

2024-03-18

问题:应用程序服务器中的时间正确,数据库中的时间错误。

我在中国,时区是 UTC+8 我使用休眠。实体定义如下(语言:Scala)

class CargoJournal {
    @Type(`type`="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime")
    var deliverTime: LocalDateTime = _

    @Temporal(TemporalType.TIMESTAMP)
    @Column(nullable=false)
    var logDate:Date = _
}

我打开休眠日志,在我的应用程序服务器中查看以下内容。当前时间是 2012 年 CST 9 月 13 日星期四 11:08:44

insert into wms_history_cargo_journal (deliver_time, log_date)
binding parameter [1] as [TIMESTAMP] - 2012-09-13 11:08:44.25
binding parameter [2] as [TIMESTAMP] - Thu Sep 13 11:08:44 CST 2012

在我的数据库服务器中:

mysql> select timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00'));
+----------------------------------------------------------------+
| timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00')) |
+----------------------------------------------------------------+
| 08:00:00                                                       |
+----------------------------------------------------------------+

所以mysql的时区是正确的。世界标准时间+8

从mysql中选择后:

mysql> SELECT deliver_time, log_date FROM wms_history_cargo_journal;
+---------------------+---------------------+
| deliver_time        | log_date            |
+---------------------+---------------------+
| 2012-09-13 11:08:44 | 2012-09-13 03:08:44 |
+---------------------+---------------------+

log_date 错误!


MySQL 中的列有哪些类型?我怀疑这是日期时间。这种类型不存储“时间时刻”,它存储“时钟上的小时”,因此可以表示不同时区的不同时刻。

当MySQL驱动程序将java.util.Date写入DATETIME列时,它必须选择某个时区来写入“小时”,因为相同的java.util.Date在不同时区可能意味着不同的小时。它存储 MySQL 服务器本地时区的小时。

LocalDateTime不存在这个问题,因为它就像DATETIME。它代表时钟上的小时,而不是时间中的时刻,因此年/月/日-小时/分钟/秒仅存储在数据库中。请注意,休眠日志中的 LocalDateTime 按原样给出,而日期旁边有时区(“CST”)。

通常,最好始终以 UTC 形式存储时间,因此请使用 DateTime,而不是 Date 或 LocalDateTime。使用 jadira 转换器的 DateTime 始终将 DATETIME 存储/读取为 UTC。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日期时间在应用程序中正确,但在 mysql [时区] 中错误 的相关文章

  • Java 字符串的细微差别

    class Test public static void main String s1 null null shows compile time error String s1 null String s2 s1 null runs fi
  • PHP 扩展 mysqli 和 nd_mysqli 之间的区别[重复]

    这个问题在这里已经有答案了 Mysqli 准备好的语句 如下所示 在以下情况下会抛出以下错误 get result 叫做 stmt connection gt prepare select column from table where i
  • 当我尝试导入添加到 WEB-INF/lib 的 jars 时,它们无法被识别:说该包不存在

    我已经添加了org apache commons fileupload and org apache commons io封装成WEB INF lib我的项目基于 google appengine 的目录 但是当我尝试导入 servlet
  • 如何在java hashset中查找并返回对象

    根据 HashSet javadoc HashSet contains 仅返回布尔值 如何在 hashSet 中 查找 对象并修改它 它不是原始数据类型 我看到 HashTable 有一个 get 方法 但我更喜欢使用该集合 您可以删除一个
  • 从 Inno Setup 项目内部调用 MySQL

    我正在为一些使用 MySQL 的软件编写安装程序 我正在尝试运行 sql用于在安装时设置数据库的脚本 唉 我目前在执行它时遇到了很大的问题 这个问题似乎是由于这样一个事实而产生的 当你设置一条通往 sql文件内的 execute SOURC
  • 如何在 JPQL 语句中使用类型转换?

    我有两个Integer数据库中的列 derby 和 db2 我需要将它们彼此分开JPQL 两列都是类型Integer如果余数是十进制数 则返回零 例如0 25变成0等等 这是可以理解的 因为类型是 int In SQL例如我可以有这个 se
  • 设置正则表达式中的最小和最大字符

    我写了一个正则表达式 http en wikipedia org wiki Regular expression匹配任意数量的字母 字母之间有任意数量的单个空格 我希望该正则表达式也强制执行最小和最大字符数 但我不确定如何做到这一点 或者是
  • 使用Ajax使用php将记录插入mysql数据库

    如何使用 Ajax 对此代码进行编码 请帮助 我是 Bignner 我已经编写了这段代码 它可以工作 但我想与 ajax 一起使用 因为不想重新加载页面 PHP文件 Code For Making Form And getting Data
  • scala.collection.Seq 不适用于 Java

    Using 阿帕奇火花2 0 1 Java 7 在 Apache Spark Java API 文档中 DataSet 类出现了一个example http spark apache org docs latest api java org
  • 有没有可供非开发人员(翻译人员!)编辑资源包的工具?

    我们公司让外部翻译人员翻译我们的软件的做法是 嗯 怎么说呢 cvs co 一些模块 ant Translation export 在这个目标后面有一个自制的 ant 任务 将所有资源包一起导出为一个大的制表符分隔的文本文件 列 不同的语言
  • Eclipse/Idea 忽略 Maven Java 版本配置

    I have
  • Android:如何管理同一应用程序使用的多个库中的公共代码库

    NOTE 这个问题是基于我在以下讨论中收到的答案 Android 2个具有相同包的aar库 https stackoverflow com questions 57347039 android 2 aar libraries with th
  • 如何在java中定期刷新ZipOutputStream

    我正在尝试以 zip 格式存档文件列表 然后即时为用户下载 我在下载 1GB 大小的 zip 时遇到内存不足问题 请帮助我如何在不增加 jvm 堆大小的情况下解决此问题 我想定期冲洗流 我正在尝试定期冲洗 但这对我不起作用 请在下面找到我的
  • ContentPane 和 JPanel 之间有什么关系?

    我发现了一个示例 其中将按钮添加到面板 实例JPanel 然后将面板添加到容器中 由getContentPane 然后容器通过构造被包含到JFrame 窗户 我尝试了两件事 我把容器扔掉了 更详细地说 我向面板添加了按钮 实例JPanel
  • Java 中非 ASCII 字符的 URL 解码

    我正在尝试用 Java 解码包含 编码字符的 URL 我尝试使用 java net URI 类来完成这项工作 但它并不总是正常工作 String test https fr wikipedia org wiki Fondation Alli
  • 2010 年的 java 并发修改异常灾难

    绘制一些存储在 ArrayList 中的粒子 这段代码工作正常 super paintComponent g for Particle b particleArr g setColor b getColor g fillOval b get
  • 从 MySQL 执行 shell 命令

    我知道我正在寻找的可能是一个安全漏洞 但由于我设法在 Oracle 和 SQL Server 中做到了这一点 所以我会尝试一下 我正在寻找一种从 MySQL 上的 SQL 脚本执行 shell 命令的方法 如有必要 可以创建和使用新的存储过
  • 如何修复 Jaspersoft studio 插件中由 TraceGovernor 引起的 java.lang.NullPointerException?

    我正在为 Jaspersoft studio 编写最新的插件 当尝试打开报告预览时 插件崩溃 来自插件 java lang NullPointerException 的堆栈跟踪 com jaspersoft studio debug Tra
  • 线程安全框架

    以下类不是线程安全的 如证明以下代码不是线程安全的 https stackoverflow com questions 2410499 proving the following code not thread safe 是否有一个框架可以
  • 如何通过代码使用 Google 翻译 API

    我正在尝试创建一个可以发送单词的应用程序翻译 google com 获取翻译结果并将其显示给用户 我编写了 URL 但我不知道如何从网页中提取单词 短语 伪示例 en 是英语代码 es 是西班牙语代码 String from en Stri

随机推荐

  • MacPorts 手动端口位置

    我正在从 MacPorts 安装一个 python 库 但macports版本的库比实际开发的svn版本旧 是否可以在 MacPorts 中指定端口安装的自定义位置 以便我可以从开发人员站点安装最新的库 Have http guide ma
  • MySQL 复合索引和运算符 BETWEEN

    我对这个查询有一个疑问 SELECT FROM runs WHERE NOW BETWEEN began at AND finished at 您认为为 begin at 和 finish at 列创建复合索引有意义吗 或者只为 begin
  • 模糊效果在模拟器中显示,但在 iPhone 上不显示

    我想创建一个模糊效果UIImageView与下面的代码 问题是 当我在模拟器中运行它时 我可以看到 BlurEffect 但当我连接 iPhone 时却看不到 这里我只能看到灰色背景 有什么想法吗 这是我使用的代码 import UIKit
  • 如何在 MASM 中编写远绝对 JMP/CALL 指令?

    如何使用 MASM 编写远绝对 JMP 或 CALL 指令 具体来说 如何让它使用 EA 和 CA 操作码发出这些指令 而不使用 DB 或其他数据指令手动发出它们 例如 考虑跳转到引导扇区中 FFFF 0000 处的 BIOS 重置入口点的
  • 使用 python 从 BytesIO 创建 Excel 文件

    我在用pandas用于存储 Excel 的库bytesIO记忆 稍后我会存储这个bytesIO对象导入 SQL Server 如下 df pandas DataFrame data1 columns col1 col2 col3 outpu
  • 非常慢的 HHVM、Wordpress、Nginx

    我可能做错了什么 但我正在 php fpm wordpress 设置和 HHVM wordpress 设置之间进行一些测试 我听过并看到过 HHVM 的许多令人兴奋的结果 但我只是对我得到的结果感到震惊 使用以下 apache 测试命令 我
  • 来自 Android 版 IndexedDB Chrome 中保存的块的 HTML5 视频

    我想使用 IndexedDB 在客户端存储离线 HTML5 应用程序的视频文件 为此 我从服务器 API 中下载了 2 个块的视频 然后我将它们作为 blob 存储在 indexedDB 中 然后在其他页面上我从数据库获取它们并创建新的 b
  • 迭代调用 pandas datareader

    我有一个带有股票列表的 python 字典 我试图在 for 循环中使用键 股票代码 见下文 来迭代地为所有股票 以股票代码命名 创建多个 pandas DataFrame 并通过 pandas DataReader 填充价格 交易量 我认
  • JavaFX和Mac:如何设置窗口关闭按钮修改状态?

    我希望能够设置应用程序的修改状态并将其反映在窗口关闭按钮 即其中的黑点 中 我发现了一个非常好的概述 参见 http nadeausoftware com node 90 http nadeausoftware com node 90 如何
  • 简单 mips 中的无限循环

    我正在尝试了解 ra 所以我想要的输出是 mainfunction1main 通过 main 调用 function1 function1 返回到 main 然后 main 完成 但由于某种原因 我得到一个无限循环 打印 mainfunct
  • 使用参数变量获取传递给 ES6 箭头函数的参数 [重复]

    这个问题在这里已经有答案了 我了解箭头函数在 ES6 中的工作原理以及词法 this 但我想知道是否有人知道如何将参数传递给箭头函数 在 ES5 中 你可以简单地执行以下操作 function foo bar baz console log
  • 使用 Opam 管理项目依赖关系

    我是 OCaml 的新手 我使用过的其他语言 例如 Scala Clojure Node js 上的 Javascript 都有包管理器 允许人们以干净的状态启动项目 该项目具有一组已声明的已知版本的依赖项 我正在尝试与 Opam 做类似的
  • 将 ANTLR 语法翻译为 XText 语法:如何删除句法谓词

    我对 Xtext 和 ANTLR 都很陌生 我需要将 ANTLR g 语法转换为 XTEXT xtext 语法 在 ANTLR 语法中 存在 Xtext 不支持的语法谓词 有没有办法删除 翻译这些谓词 Thanks EDIT 我尝试翻译的
  • Java 中继承的坏例子是什么?

    我知道Java中继承的优点 但我有点难以接受它也有缺点 有人能给我一个 Java 继承的坏例子吗 Stack extends Vector 堆栈不是向量 Properties extends Hashtable 属性表不是哈希表 See 这
  • 延迟第 3 方 JavaScript 的加载

    是否有任何方法可以延迟加载第 3 方 JavaScript 文件 直到页面的其余部分完成加载 您可以附加到页面的 onload 事件 一旦触发 您就可以动态插入对文件的引用 例如 function loaded var el documen
  • 使用 rspec 测试 Rails 3.2 中的 JSON API,使用 Backbone 发送的精确 PUT/POST 主体

    我正在尝试为以 Backbone 作为前端的 Rails 3 2 中编写的 JSON API 编写一组 rspec 测试 我正在编写的测试是专门针对 Rails 控制器的 现在 应用程序本身运行良好 当客户端发出带有正文的 PUT 请求时
  • Android sql 区分大小写在 rawQuery 中不起作用?

    rawQuery 字符串搜索给我所有结果 不区分大小写 我的代码是 String gg mt String cnql SELECT DISTINCT sinhala FROM jgd WHERE sinhala LIKE gg LIMIT
  • HelloAndroid]emulator-5554 已断开连接!正在取消“com.example.helloandroid.HelloAndroid 活动启动”!

    我是安卓新手 使用 Eclipse 遵循 HelloAndroid 教程 运行 HelloAndroid 后 AVD xian avd2 启动 但到此为止 没有 Hello Android 显示在 AVD 上 看起来正在等待 HOME an
  • MVC3 控制器构造函数 + Ninject

    我目前正在开发 MVC3 Web 应用程序 并遇到了 Ninject 的新问题 我在控制器中使用以下代码 public class TestController Controller public IRepository
  • 日期时间在应用程序中正确,但在 mysql [时区] 中错误

    问题 应用程序服务器中的时间正确 数据库中的时间错误 我在中国 时区是 UTC 8 我使用休眠 实体定义如下 语言 Scala class CargoJournal Type type org jadira usertype dateand