如何在Java中将格式化日期(yyyy-MM-dd)转换为Unix时间?
我想使用
声明日期 Date birthday = new Date(y_birthday, m_birthday, d_birthday);
但是这个构造函数已被弃用,所以我得使用另一个使用Unix时间戳的构造函数
答案 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,那么我认为您可以使用一些更好的东西来处理日期