在Java中,可以使用Date
对象的getTime()
方法将其转换为long
类型的毫秒数。而要将long
类型的毫秒数转换回Date
对象,可以使用Date
类的构造函数Date(long)
。
下面是示例代码:
import java.util.Date;
public class Main {
public static void main(String[] args) {
// Date转Long
Date date = new Date();
long milliseconds = date.getTime();
System.out.println("Date: " + date);
System.out.println("Milliseconds: " + milliseconds);
// Long转Date
long milliseconds2 = 1635052800000L; // 2021年10月24日00:00:00的毫秒数
Date date2 = new Date(milliseconds2);
System.out.println("Milliseconds: " + milliseconds2);
System.out.println("Date: " + date2);
}
}
在上述示例中,我们首先创建一个Date
对象date
,然后使用getTime()
方法获取其对应的毫秒数,并将其存储在milliseconds
变量中。接着,我们打印出原始的Date
对象和毫秒数。
然后,我们将预定义的毫秒数1635052800000L
转换回Date
对象。我们使用new Date(milliseconds2)
的方式,其中milliseconds2
是预定义的毫秒数。最后,我们打印出毫秒数和转换后的Date
对象。
请注意,Date
类在Java 8及以前的版本中是线程不安全的,因此在多线程环境下使用时需要注意同步。从Java 8开始,推荐使用java.time
包中的日期和时间类(如LocalDate
、LocalDateTime
等),它们提供了更好的线程安全性和功能。