java - 乔达日期时间到 Unix 日期时间

标签 java jodatime unix-timestamp

这很奇怪,但我没有找到任何关于将 Joda(Time) DateTime 转换为 Unix DateTime(或时间戳,以正确的名称为准)的结果。我该怎么做?

最佳答案

任何继承自BaseDateTime的对象(包括DateTime)都有该方法

public long getMillis()

根据API它:

Gets the milliseconds of the datetime instant from the Java epoch of 1970-01-01T00:00:00Z.

因此,获得 的工作示例就是:

new DateTime().getMillis() / 1000

为了完整起见,Unix Timestamp according to Wikipedia 的定义:

Unix time, or POSIX time, is a system for describing instants in time, defined as the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970, not counting leap seconds.

您还可以通过使用 TimeUnit API 删除魔数(Magic Number)除法来进一步改进它。 :

import java.util.concurrent.TimeUnit;

TimeUnit.MILLISECONDS.toSeconds(new DateTime().getMillis());

关于java - 乔达日期时间到 Unix 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681348/

相关文章:

java - 无法将元素添加到 map - 不支持的操作异常

java - 如何让 Ant 更喜欢链接 JAR 中的类而不是 JDK 类?

java - 我如何检查 joda 时间瞬间是否正在发生?

java - 如何用 JodaTime 表示 'time'

java - 从某个日期到当前日期的日期列表

C++ ctime() 到日期格式的字符串?

java - 如何将 .p12 或 pem 证书导入 java keystore ?

java - 为什么 DefaultCellEditors 有两种不同的编辑模式?

python 获取文件的时间戳,格式为 mm/dd/yyyy-HH :MM format

PHP DateTime 对象 - 时间戳和时区冲突