在 MySql TIME 列中保存 LocalTime

2023-12-23

背景故事

我最近在保存时遇到了一个问题LocalTime to a TIMEMySQL 数据库中的列。节省价值9:00正在引起8:00保存在数据库中。

这个问题没有出现在我的开发环境(Windows)上,但出现在我们尝试的两台 Linux 机器上。

我的代码如下:

preparedStatement.setObject(parameterIndex, localTime, JDBCType.TIME);

经过调查,我最终发现MySQL JDBC驱动程序正在使用java.sql.Time.valueOf(localTime),然后使用SimpleDateFormat其时区设置为 MySql 服务器的时区system_time_zone系统属性(通过time_zone = 'SYSTEM'),将其打印为字符串。

在 Linux 机器上,system_time_zone was GMT,在 Windows 机器上,它是GMT Standard Time。 (我在英国。)

So, the LocalTime 9:00被转换为Time of 9:00 Europe/London(实际上内部建模为1st January 1970 9:00 Europe/London),然后使用GMT时区,其处理方式与UTC。现在,通常这两个时区在一月份与 UTC 的偏移量为零,但英国在 1969 年和 1970 年全年都保持夏令时。因此减去了一个小时。

Question

最好的写法是什么LocalTime到MySQL数据库,避免这种问题?我只是想9:00,没有时区,没有日期,只有一天中的时间。我不希望它根据时区差异进行调整,因为它只是9:00,不是在任何特定的日子或地点。

目前我只是打印LocalTime作为字符串,并将其发送到数据库,但我觉得应该有更好的方法。有没有?


None

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

在 MySql TIME 列中保存 LocalTime 的相关文章

  • 有人在实际应用程序中使用短和字节原始类型吗?

    我自 2004 年以来一直使用 Java 进行编程 主要是企业和 Web 应用程序 但我从来没有用过short or byte 而不是只是为了了解这些类型如何工作的玩具程序 即使在一个for loop100次 我们通常会选择int 我不记得
  • Dapper MySQL 返回值

    我在 ASP net Identity 项目中使用 dapper 和 MySql 时遇到问题 我想将用户插入到表 users 中 并希望从这次插入中返回自动生成的 id 但我收到语法错误 我不知道为什么 这是我的方法插入代码 public
  • MYSQL插入GB大小的巨大SQL文件

    我正在尝试创建 Wikipedia DB 副本 大约 50GB 但在处理最大的 SQL 文件时遇到问题 我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块 例如 split d l 50 enwiki 2
  • Hibernate/JPA 在启动时不验证数据库架构

    由于某种原因 hibernate 无法捕获诸如将实体映射到不存在的表之类的问题 我的 persistence xml 文件看起来像这样
  • 如何防止mysql隐式提交

    mysql文档 http dev mysql com doc refman 5 5 en implicit commit html指出某些语句将在事务期间导致隐式提交 例如 CREATE TABLE foo bar INT START TR
  • 验证在子类上调用此方法时是否调用了重写的超类方法

    我将用这个例子来展示我的问题 我有一个带有方法的类foo 该类有一个重写此方法的子类 子类的方法调用超类的方法 我可以验证一下吗 我不想测试什么foo在超类中确实如此 我只需要验证它是否被调用 我知道重构可以有所帮助 优先考虑组合而不是继承
  • 在 CSS 中设置 TableView 样式 (JavaFX)

    如何在 TableView 中设置 THIS 点的样式 我的 CSS 代码如下所示 Empty Stylesheet file root fx background color 262626 table view fx background
  • 为什么桌面 AES 文件 IO 与 Android AES 文件 IO 不兼容?

    我已将一个应用程序从 Android 移植到桌面 该应用程序使用 AES 加密一些私人数据 两个应用程序都能够加密和解密数据以供自己使用 但无法解密其他应用程序的数据 AES 密钥 IV 和算法是相同的 这两个应用程序之间的主要区别在于 a
  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • Struts 2 中的 Java 应用程序可以管理多少个会话?

    我正在开发事务管理应用程序 并且正在使用 Struts2 我在内部使用了一个会话来设置和获取值 例如 ActionContext getContext getSession put string string 在应用程序中使用这样的会话是否
  • equals 和 hashcode 的不同字段

    我同意这篇文章的声明在Java中重写equals和hashCode时应该考虑哪些问题 https stackoverflow com questions 27581 overriding equals and hashcode in jav
  • 过滤(搜索和替换)InputStream 中的字节数组

    我有一个 InputStream 它将 html 文件作为输入参数 我必须从输入流中获取字节 我有一个字符串 XYZ 我想将此字符串转换为字节格式 并检查从 InputStream 获得的字节序列中是否存在与该字符串匹配的字符串 如果有的话
  • 如何使用php在mysql中显示字幕中的多条新闻

    我在从 mysql 检索数据以在字幕中显示时遇到问题 当我访问网页时 它仅在字幕中显示数据库中的一项数据 我的问题是如何检索所有存储的数据 谢谢 下面是代码部分 select SELECT newsid headlines from new
  • 从内存中获取Java类字节码(经过多次转换)

    我正在为 Minecraft 开发一个 coremod 并在加载许多类时对其进行转换 然而问题是 有多个 coremod 也转换了与我相同的类 并且我遇到了一些我想研究的奇怪行为 那么问题来了 经过多次转换后的字节码如何检查呢 当我转换它时
  • while 循环无法访问代码

    当我编译这段代码时 public static void main String args int x 0 while false System out println hello 它显示编译时错误无法访问代码 但是当我将这段代码修改为 p
  • mysql 中 int(11) 列的大小是多少(以字节为单位)?

    柱子的尺寸是多少int 11 在mysql中以字节为单位 该列中可以存储的最大值 An INT无论指定什么长度 都将始终为 4 个字节 TINYINT 1 字节 8 位 SMALLINT 2 字节 16 位 MEDIUMINT 3 字节 2
  • 如何解除阻塞在 ServerSocket.accept() 上的线程?

    我有一个带有以下代码的服务器线程 public void run try ServerSocket server EneaLog printLog Server is running server new ServerSocket this
  • 使用 Wildfly 在 Jersey 上使用 @PersistenceUnit 注入 EntityManagerFactory

    我尝试使用 PersistenceUnit 注入 EntityManagerFactory 但它始终为空 我认为我的 persistence xml 没问题 因为我可以使用以下代码获取 EntityManager EntityManager
  • 当基类和派生类都具有同名变量时会发生什么

    考虑int a这些类中的变量 class Foo public int a 3 public void addFive a 5 System out print f class Bar extends Foo public int a 8
  • 覆盖 VK_Tab 焦点操作

    再会 我正在向 jTextField 添加 keyevent 侦听器 以便如果用户按下 Tab 键 插入符号位置将转到 jtextField 内文本的末尾 这是我的代码 private void jTextField1KeyPressed

随机推荐

  • CSRF InvalidAuthenticityToken 与 Rails 和 React

    我无法让我的代码与 CSRF 令牌一起使用 我有一个 axiosconfig 文件 我在其中设置 axios 并将其导出 import axios from axios const csrfToken document querySelec
  • Angular-UI-Router 与 Html5Mode 刷新页面问题

    我有一个应用程序使用角度 ui 路由器 with html5模式 真 当运行和路由到其他状态时 一切似乎都工作正常 我的默认状态是应用程序 日历这是在 module run 期间设置的 但是当我刷新页面而我当前处于其他路线时 可以说应用程序
  • 是否可以在不迭代行的情况下检查 pdostatement::fetch() 是否有结果?

    我有一个页面需要检查结果 我想出的方法是成功的 但会迭代第一行结果 有没有一种方法可以在不迭代的情况下进行检查 或者返回到第一行而不再次执行查询 我正在这样做 q pdo prepare SQL q gt execute array foo
  • 如何在 Retrofit 中处理动态 JSON?

    我正在使用改造高效网络库 但我无法处理包含单个前缀的动态 JSONresponseMessage这会改变为object随机地 相同的前缀 responseMessage 在某些情况下 动态地 更改为字符串 响应消息的Json格式对象 app
  • 如何使用 Impress.js 获得完整、无缝的轮换?

    我正在使用 impress js 创建 3D 效果 在其中您位于四个页面内 就好像它们是房间中的四堵墙一样 要查看下一页 请使用简单的 90 度旋转 这些页面已经使用 impress js 进行了布局 page 1 div class st
  • 在向 jTable 添加新列后插入新行会出现数组越界异常

    我使用以下代码创建了 JTable 然后我添加两个新列 然后 在将行数设置为零后 当我尝试向表中添加新行时 出现数组越界异常 请帮忙 creating table structure jTable2 new javax swing JTab
  • 您如何组织您的 ATG 项目?

    如果您为 ATG Dynamo 进行开发 您如何构建模块和依赖项 您如何构建项目 源目录 JAR 配置等 您如何构建和部署 你使用什么工具 我们有一个带有单个 ATG 模块的整体架构 我们最初使用 JHTML 开发此网站 此后在此 ATG
  • JavaScript 中图像的相对路径

    我有一个 javascript 模块 它创建一个带有关闭按钮 X 图片的 div 这个 div 和 javascript 被放置在我网站上的很多地方 相对路径解决方案 当页面包含 javascript 并且 javascript 对图像使用
  • git (ls-remote) - 列出按创建日期排序的“远程”分支

    我知道通过下面的 git 命令我可以列出我所有的 远程 分支 someone someone pc somerepo git ls remote Username for https somegit com someone Password
  • scss:compass、gruntjs 和 Bower 安装基础 - 导入路径

    所以我有 yeoman 创建的以下目录结构 calvin tree L 2 Gruntfile js app 404 html bower components foundation favicon ico index html robot
  • Masonry 不适用于 Ember 中的无限滚动

    我正在尝试使用 Jquery Masonry 来无限滚动我的图片库 Masonry 仅适用于路线中的图像 但是在将新图像对象推送到之后images array 新形象出现在Dom但砌体不起作用 我见过Ember js jQuery maso
  • Delphi - 在主窗体创建上停止应用程序

    情况如下 在应用程序主窗体上创建事件时 某些条件未得到满足 因此应用程序需要关闭 是的 这是一个糟糕的设计 但是应用程序应该如何关闭 使用Application MainForm Close 生成一个AV 应用程序 终止 http docw
  • 什么是 Play 框架 Web 服务器

    有谁知道play使用哪个网络服务器 框架 我计划使用 Play 制作一个小型 Intranet 应用程序原型 我想知道是否应该使用默认的播放 Web 服务器或内部使用的 Apache 或 IIS 我不会预测应用程序的多个实例正在运行 也不会
  • 如何强制 xcode 对特定文件使用 ARC?

    我的项目包含 XMPPFramework 其中包含必须与 ARC 一起使用的文件 但我的项目是非 ARC 并且由于链接到它的某些其他库而无法转换 如何强制编译器仅在某个类上使用 ARC 这是以下问题的反问题这个问题 https stacko
  • svn relocate 错误 -- 无效的重定位目标

    我们的 svn 存储库的位置已更改为不同的 url 此外主干 分支和标签的相对路径也移动了一点 现在当我尝试svn relocate 我收到此消息 Invalid relocation destination https my repo s
  • Databricks (Spark):.egg 依赖项未自动安装?

    我有一个本地创建的 egg依赖的包boto 2 38 0 我使用 setuptools 来创建构建发行版 一切都在我自己的本地环境中运行 因为它获取boto正确地从PiP 然而在databricks当我将库附加到集群时 它不会自动获取依赖项
  • 如何快速创建一个可选的闭包?

    我试图在 Swift 中声明一个带有可选闭包的参数 我声明的函数如下所示 class Promise func then onFulfilled gt onReject gt if let callableRjector onReject
  • VSCode:防止分割编辑器在聚焦时调整大小?

    打开多个编辑器组 并且其中一个编辑器组足够小 聚焦较小的编辑器组会导致它变大 直到您切换回另一个编辑器 我希望将所有内容保留为我设置的大小 有没有设置可以防止这种情况发生 Note how it has to be made small f
  • 使用 Selenium WebDriver C# 从下拉列表中选择一个值 [重复]

    这个问题在这里已经有答案了 我在使用 WebDriver 的 C 绑定从下拉列表中选择值时遇到了困难 我过去既没有研究过 C 也没有研究过 WebDriver 我正在使用 WebDriver Selenium dotnet2 0b3 和 V
  • 在 MySql TIME 列中保存 LocalTime

    背景故事 我最近在保存时遇到了一个问题LocalTime to a TIMEMySQL 数据库中的列 节省价值9 00正在引起8 00保存在数据库中 这个问题没有出现在我的开发环境 Windows 上 但出现在我们尝试的两台 Linux 机