How to convert Formatted Date (yyyy-MM-dd) to Unix

2019-08-30 06:29发布

How to convert Formatted date (yyyy-MM-dd) to Unix time in Java?

I want to declare a date using

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

but this constructor has been deprecated, so I got to use the other constructor which uses Unix timestamp

2条回答
\"骚年 ilove
2楼-- · 2019-08-30 06:54

Use a calendar object if you want more control of the date object

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());

The hours, minutes, seconds etc of the current time will be set though so you may want to set those to 0 (manually per field)

If you're using Java 7 then I think there's some much nicer stuff you can use for handling dates

查看更多
Summer. ? 凉城
3楼-- · 2019-08-30 07:05

So, you have the date as a string in the format yyyy-MM-dd? Use a java.text.SimpleDateFormat to parse it into a java.util.Date object:

String text = "2011-12-12";

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

edit If you need a java.sql.Date, then you can easily convert your java.util.Date to a java.sql.Date:

java.sql.Date date2 = new java.sql.Date(date.getTime());
查看更多
登录 后发表回答