当前位置: 首页 > 知识库问答 >
问题:

在HiberNate中,如何将创建日期设置为unix时间戳而不是datetime/LocalDate?

唐声
2023-03-14

我当前的项目使用Hibernate,并且模型类中有一个LocalDate字段,该字段映射到DB中带有注释@CreationTimestamp的datetime列。创建对象时会自动设置创建日期。

有没有办法将创建日期的格式设置为unix时间戳?是否有一个参数可以添加到注释@CreationTimestamp中以指定它?

共有1个答案

袁单鹗
2023-03-14

Unix时间是自1970年1月1日以来的持续时间,单位为秒。在java8中,我们有来自新日期和时间api的即时类来获取unix时间戳。

下面一行代码可以用来获取unix时间戳。

long unixTime = Instant.now().getEpochSecond();

下面可用于转换 unix 时间戳的代码行

Instant instant = Instant.ofEpochSecond(unixTime);
 类似资料:
  • 问题内容: 如何在Java中将分钟从Unix时间戳转换为日期和时间。例如,时间戳1372339860对应于。 我想转换成。 编辑:其实我希望它是根据美国时间GMT-4,所以它将是。 问题答案: 你可以使用SimlpeDateFormat来格式化日期,如下所示: 如果使用的模式SimpleDateFormat非常灵活,则可以根据给定的特定模式,在javadocs中检入可用于产生不同格式的所有变体Da

  • 问题内容: 如何在SQL Server中将UNIX时间戳(bigint)转换为DateTime? 问题答案: 尝试:

  • 如何在Java中将分钟数从Unix时间戳转换为日期和时间?例如,时间戳对应于 。 我想将< code>1372339860转换为< code > 2013-06-27 13:31:00 GMT 。 编辑:实际上我希望它根据美国时间GMT-4,所以它将是。

  • 问题内容: 如何创建日期为23/09/2007的时间戳记? 问题答案: 通过,我相信你的意思。您会注意到,该类具有一个接受参数的构造函数。您可以使用以下类进行解析:

  • 问题内容: 论坛成员 我在Java中遇到日期时间问题。实际上,我正在接收 格式为2012-02-27T01:10:10 的开始日期,并且我想将接收到的日期插入具有datetime数据类型的数据库中。 实际上,我尝试通过以下代码将收到的开始日期转换为日期时间 但是使用上面的代码,只有 日期被添加到我的数据库中,例如2012-02-27 00:00:00 我也想将时间添加到数据库中,但是当我将Simp

  • 问题内容: 如何在MySQL中转换为? 问题答案: 在MySQL中使用功能 请记住,如果使用的框架以毫秒为单位进行存储(例如Java的时间戳),则 必须除以1000 ,以秒为单位获取正确的Unix时间。