Date、String、Calendar相互转化

Date是在Jdk1.0出现的专门用来处理时间的类,但是由于Date在国际化方面存在限制,在Jdk1.1推出Calendar,现在Date的很多方法都已经过时,都迁移到Calendar上。

1、Date转化为String

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateString = dateFormat.format(date);

注:SimpleDateFormat是DateFormat的一个子类,可用于格式化date

2、String转化为Date

String dateString = "2014-09-26";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse(dateString);

注:用parse方法是会抛出已检查异常,需要程序员做声明或try catch操作

3、Calendar转化为String

Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateString = dateFormat.format(calendar.getTime());

注:Calendar的getTime方法返回的还是Date类型

4、String转化为Calendar

String dateString = "2014-09-26";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println(calendar);

5、Calendar转化为Date

Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

6、Date转化为Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
原文地址:https://www.cnblogs.com/fantasy01/p/3994005.html