首页 > 数据库 > mysql教程 > 如何在 Java 中将纪元时间转换为 MySQL 时间戳?

如何在 Java 中将纪元时间转换为 MySQL 时间戳?

Patricia Arquette
发布: 2024-12-12 18:13:09
原创
748 人浏览过

How to Convert Epoch Time to a MySQL Timestamp in Java?

在 Java 中将纪元时间转换为 MySQL 时间戳

在 Java 和 MySQL 中处理时间值时,转换纪元时间,表示自 Unix 纪元以来的秒数,可能需要转换为 MySQL 时间戳格式。

要实现此转换,需要流行的方法涉及使用 Java 8 java.time API。此 API 提供了一组用于处理日期和时间的现代类和接口,包括不同格式之间的转换。

将纪元时间转换为 MySQL 时间戳

以下代码片段演示了如何使用 java.time API 将纪元时间转换为 MySQL 时间戳:

import java.time.LocalDateTime;

// Convert epoch time in milliseconds to seconds
long epochSeconds = System.currentTimeMillis() / 1000;

// Create a LocalDateTime object from the epoch seconds
LocalDateTime timestamp = LocalDateTime.ofEpochSecond(epochSeconds, 0, java.time.ZoneOffset.UTC);

// Format the LocalDateTime object as a MySQL timestamp string
String mySQLTimestamp = timestamp.toString();
登录后复制

生成的 mySQLTimestamp字符串的格式为 YYYY-MM-DD HH:MM:SS,与 MySQL 时间戳数据类型兼容。

替代方法:SimpleDateFormat

而通常建议使用 java.time API 来处理日期和时间,这是使用旧版 SimpleDateFormat 转换纪元时间的另一种方法class:

import java.text.SimpleDateFormat;
import java.util.Date;

// Convert epoch time in milliseconds to a Date object
Date date = new Date(epochSeconds * 1000);

// Create a SimpleDateFormat to format the Date as a MySQL timestamp string
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:SS");

// Format the Date object as a MySQL timestamp string
String mySQLTimestamp = sdf.format(date);
登录后复制

与 java.time API 相比,由于潜在的线程安全问题以及不同版本 JDK 之间的不一致,这种方法不太受欢迎。

以上是如何在 Java 中将纪元时间转换为 MySQL 时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板