如何在Java中将格式化日期(yyyy-MM-dd)转换为Unix时间?

时间:2011-12-12 14:52:07

标签: java date unix-timestamp

如何在Java中将格式化日期(yyyy-MM-dd)转换为Unix时间?

我想使用

声明日期
    Date birthday = new Date(y_birthday, m_birthday, d_birthday);

但是这个构造函数已被弃用,所以我得使用另一个使用Unix时间戳的构造函数

2 个答案:

答案 0 :(得分:8)

那么,您将日期作为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);

编辑如果您需要java.sql.Date,则可以轻松将java.util.Date转换为java.sql.Date

java.sql.Date date2 = new java.sql.Date(date.getTime());

答案 1 :(得分:1)

如果您想要更多地控制日期对象,请使用日历对象

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,那么我认为您可以使用一些更好的东西来处理日期