Joda DateTime to Unix DateTime
2022-09-01 05:37:26
这很奇怪,但我没有找到任何关于将Joda(Time)转换为Unix DateTime(或时间戳,以正确名称为准)的结果。我该怎么做?DateTime
这很奇怪,但我没有找到任何关于将Joda(Time)转换为Unix DateTime(或时间戳,以正确名称为准)的结果。我该怎么做?DateTime
从(包括 )继承的任何对象都具有以下方法BaseDateTime
DateTime
public long getMillis()
根据API,它:
获取 Java 纪元 1970-01-01T00:00:00Z 的日期时间时刻的毫秒数。
因此,获取秒数的一个工作示例很简单:
new DateTime().getMillis() / 1000
为了完整起见,根据维基百科,Unix时间戳的定义:
Unix 时间或 POSIX 时间是一个用于描述时间时刻的系统,定义为自 1970 年 1 月 1 日星期四 00:00:00 协调世界时 (UTC) 以来经过的秒数,不计算闰秒。
您还可以通过使用TimeUnit API删除幻数除法来进一步改进它:
import java.util.concurrent.TimeUnit;
TimeUnit.MILLISECONDS.toSeconds(new DateTime().getMillis());
Java 8 添加了一个新的 API 来处理日期和时间。在 Java 8 中,您可以使用
long unixTimestamp = Instant.now().getEpochSecond();