java常用类——日期操作

本节目标:

    1.掌握Date、Calendar类的操作

    2.掌握日期格式化操作

    3.掌握SimpleDateFormat进行日期格式化操作

Date类

    Date类是一个常用的类,但是其操作的日期格式会有一些不符合人的要求。如果要进一步取得自己需要的时间,则可以使用Calendar类。

public class DateDemo1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}

}

运行结果:

Mon Apr 09 17:27:29 CST 2018  

Calendat类

public abstract class Calendar

直接已知子类:GregorianCalendar

是一个抽象类,需要使用子类对象进行实例化。使用此类可以将日期精确到毫秒。以下取得一个完整日期。

public class CalendarDemo {
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
//取得年份
System.out.println("年:" + calendar.get(Calendar.YEAR));
//取得月份
System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));
//取得日
System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH));
//取得时
System.out.println("时:" + calendar.get(Calendar.HOUR_OF_DAY));
//取得分
System.out.println("分:" + calendar.get(Calendar.MINUTE));
//取得秒
System.out.println("秒:" + calendar.get(Calendar.SECOND));
//取得毫秒
System.out.println("毫秒:" +calendar.get(Calendar.MILLISECOND));
}

}

注意在取得月份的时候要加1.

DateFormat类

此类是一个日期的格式化类,专门用来格式化日期。由于Date类已经包含了完整的日期,只需要将此日期进行格式化操作即可。

public abstract class DateFormat

此类是一个抽象类,需要子类进行实例化,但是该类本身提供了实例化操作。

|-得到日期的DateFormat对象:public static DateFormat getDateInstance() 

|-得到日期时间的DateFormat对象:public static DateFormat getDateTimeInstance() 

|-格式转换:public String format(Date date) 将一个 Date 格式化为日期/时间字符串

public class DateDemo2 {
public static void main(String[] args) {
DateFormat df1 = null;
DateFormat df2 = null;
df1 = DateFormat.getDateInstance();
df2 = DateFormat.getDateTimeInstance();
System.out.println("DATE:" + df1.format(new Date()));
System.out.println("DATETIME:" + df2.format(new Date()));
}

}

运行结果:

DATE:2018-4-9

DATETIME:2018-4-9 17:52:17

SimpleDateFormat类

public class SimpleDateFormat extends DateFormat

此类是DateFormat类的子类,用来完成日期的格式化操作。可以将一种日期格式变换成另一种日期格式。如:

原始日期:2018-04-09 17:59:20

转换成:2018年04月09日 17时59分20秒

以上可以发现,转换的日期数字相同,唯一不同的是显示的格式不同。要实现转换,首先要指定一个模板。

public class DateDemo3 {
public static void main(String[] args) throws ParseException {
String dateStr = "2018-04-09 17:59:20";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒");
Date d = sdf1.parse(dateStr);
String df = sdf2.format(d);
System.out.println(df);
}

}

运行结果:

2018年04月09日  17时59分20秒

总结:

一般情况下,DateFormat类很少直接使用,而是使用SimpleDateFormat完成。








你可能感兴趣的:(java常用类——日期操作)