如何在Java中获取当前日期和时间?
我正在寻找相当于DateTime的东西。现在从c#开始。
如何在Java中获取当前日期和时间?
我正在寻找相当于DateTime的东西。现在从c#开始。
当前回答
许多人认为Java Date和Calendar类设计得很糟糕。您应该看一看Joda Time,这是一个常用来代替Java内置日期库的库。
相当于DateTime。现在在Joda时间是:
DateTime dt = new DateTime();
更新
正如评论中所指出的,最新版本的Joda Time有一个DateTime.now()方法,因此:
DateTime dt = DateTime.now();
其他回答
只构造一个新的Date对象,不带任何参数;这将为新对象分配当前日期和时间。
import java.util.Date;
Date d = new Date();
用Javadocs零参数构造函数的话说:
分配Date对象并初始化它,使它表示分配的时间,测量到最近的毫秒。
确保您使用的是java.util.Date而不是java.sql.Date——后者没有零参数构造函数,并且具有一些不同的语义,这是完全不同的对话主题。:)
java.lang.System.currentTimeMillis ();将返回自epoch以来的datetime
import java.util.Date;
Date now = new Date();
注意,Date对象是可变的,如果您想做一些复杂的事情,请使用jodatime。
import org.joda.time.DateTime;
DateTime now = DateTime.now();
在Java 8中,它是:
ZonedDateTime dateTime = ZonedDateTime.now();