Как я получаю текущую дату в Java?
В C# это DateTime.Now
.
Просто создайте новый объект Дата
без каких-либо аргументов; это присвоит новому объекту текущую дату и время.
import java.util.Date;
Date d = new Date();
Словами Javadocs для конструктор нулевой памятник:
Выделяет объект Date и инициализирует его так, чтобы он представлял время, на которое он был выделен, измеренное с точностью до миллисекунды.
Убедитесь, что вы используете java.util.Date
, а не java.sql.Date
- последний не имеет нулевого конструктора, и имеет несколько иную семантику, которая является темой совершенно другого разговора. :)
Я предпочитаю использовать объект "Календарь".
Calendar now = GregorianCalendar.getInstance()
Мне гораздо проще работать с ним. Вы также можете получить объект Дата из Календаря.
http://java.sun.com/javase/6/docs/api/java/util/GregorianCalendar.html
import java.util.Date;
Date now = new Date();
Обратите внимание, что объект Дата является мутируемым, и если вы хотите сделать что-то сложное, используйте jodatime .
.Классы Java Date и Calendar многие считают плохо разработанными. Вы должны обратить внимание на Joda Time, библиотеку, обычно используемую вместо встроенных библиотек дат Java.
Эквивалентом DateTime.Now
в Joda Time является:
DateTime dt = new DateTime();
Update
Как отмечено в комментариях, последние версии Joda Time имеют DateTime. now()
, так что:
DateTime dt = DateTime.now();
Если вы создадите новый объект Date, то по умолчанию он будет установлен на текущее время:
import java.util.Date;
Date now = new Date();
][]java.lang.System.currentTimeMillis();[
] вернет время с эпохи[