String、java.util.Date、java.sql.Date的互相转化总结

java.lang.String → java.util.Date

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = "2020-3-4 21:12:10";
try {
    java.util.Date date = sdf.parse(time);
} catch (ParseException e) {
    e.printStackTrace();
}

java.util.Date → java.lang.String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = new java.util.Date();
String time = sdf.format(utilDate);

java.lang.String → java.sql.Date

yyyy-mm-dd格式

可以直接用valueOf()方法进行转化啦!

String time = "2020-3-4";
java.sql.Date sqlDate = java.sql.Date.valueOf(time);

格式不规范将抛出IllegalArgumentException。(格式不规范,亲人两行泪)

非yyyy-mm-dd格式

java.sql.Date继承自java.util.Date,所以此时需要使用一个java.util.Date对象来构造。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = "2020-3-4 21:12:10";
try {
    java.util.Date utilDate = sdf.parse(time);
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
} catch (ParseException e) {
    e.printStackTrace();
}

java.sql.Date → java.lang.String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
String time = sdf.format(sqlDate);

java.util.Date → java.sql.Date

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

java.sql.Date → java.util.Date

java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
java.util.Date utilDate = (java.util.Date)sqlDate;
发布了645 篇原创文章 · 获赞 1334 · 访问量 57万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104662730
今日推荐