Как преобразовать форматированную дату (гггг-мм-дд) в Unix время в Java? - PullRequest
0 голосов
/ 12 декабря 2011

Как преобразовать форматированную дату (гггг-мм-дд) во время Unix в Java?

Я хочу объявить дату, используя

    Date birthday = new Date(y_birthday, m_birthday, d_birthday);

, но этот конструктор устарел,поэтому я должен использовать другой конструктор, который использует метку времени Unix

Ответы [ 2 ]

8 голосов
/ 12 декабря 2011

Итак, у вас есть дата в виде строки в формате yyyy-MM-dd?Используйте java.text.SimpleDateFormat, чтобы разобрать его в java.util.Date объект:

String text = "2011-12-12";

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(text);

edit Если вам нужен java.sql.Date, то вы можете легко преобразовать java.util.Date вjava.sql.Date:

java.sql.Date date2 = new java.sql.Date(date.getTime());
1 голос
/ 12 декабря 2011

Используйте объект календаря, если вы хотите больше контроля над объектом даты

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2011);
calendar.set(Calendar.MONTH, 11); // indexed month (December)
calendar.set(Calendar.DATE, 12);
Date date = new Date(calendar.getTime().getTime());

Будут установлены часы, минуты, секунды и т. Д. Текущего времени, поэтому вы можете установить их на 0 (вручную для каждого поля)

Если вы используете Java 7, то я думаю, что есть несколько более приятных вещей, которые вы можете использовать для обработки дат

...