首页  >  文章  >  数据库  >  以下是一些标题选项,重点关注核心问题和解决方案: 选项 1(直接且以问题为中心): * 为什么 SimpleDateFormat.parse 在转换 UNIX 时间时会产生不一致的输出

以下是一些标题选项,重点关注核心问题和解决方案: 选项 1(直接且以问题为中心): * 为什么 SimpleDateFormat.parse 在转换 UNIX 时间时会产生不一致的输出

Susan Sarandon
Susan Sarandon原创
2024-10-27 20:46:01632浏览

Here are a few title options, focusing on the core issue and solution:

Option 1 (Direct and Problem-Focused):

* Why does SimpleDateFormat.parse produce inconsistent output when converting UNIX timestamps?

Option 2 (More Specific to the Cause):

* Time

SimpleDateFormatter.parse 输出格式差异

尝试使用 SimpleDateFormat 将 UNIX 时间戳转换为特定日期格式时,用户可能会遇到以下问题:格式化和解析的输出。

造成这种差异的一个原因是时区可能不匹配。确保 SimpleDateFormat 的时区与预期输出匹配。此外,请验证纪元时间戳是否按照 Date 构造函数的要求以毫秒为单位表示。

建议的解决方案:

为了避免潜在的格式问题并确保数据库兼容性,它建议将日期对象直接传递给 MySQL,而不是字符串。利用 java.time 类(例如 LocalDateTime)来表示日期和时间。

这是更新的代码片段:

<code class="java">String ep = "a1527069600";
long epoch = Long.parseLong(ep.substring(1));
Instant instant = Instant.ofEpochSecond(epoch);
LocalDateTime ldt = instant.atZone(ZoneId.of("Asia/Calcutta")).toLocalDateTime();

PreparedStatement ps = myDatabaseConnection.prepareStatement(
        "insert into my_table (my_date_time) values (?)");
ps.setObject(1, ldt);</code>

此方法可确保日期根据指定时间进行格式化区域并作为对象存储在数据库中,消除了格式错误的可能性。

以上是以下是一些标题选项,重点关注核心问题和解决方案: 选项 1(直接且以问题为中心): * 为什么 SimpleDateFormat.parse 在转换 UNIX 时间时会产生不一致的输出的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn