一、Date类
Date类是一个相对较为简单的操作类,在使用中直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期
二、Calendar类
Calendar类可以将取得的时间精确到毫秒。但是,这个类本身是一个抽象类,如果要想使用一个抽象类,则必须依靠对象的多态性,通过子类进行父类的实例化操作,Calendar的子类是GregorianCalendar类。
package com.pb.demo3; import java.util.Calendar;
import java.util.GregorianCalendar; /*
* 使用Calendar类显示当前时间,
* 使用get方法表示时间,日期的各个部分数字如:年,月,日
* 使用set方法设置日期字段,将当前时间设置为9月
* 使用add方法为给定的日历字段添加或者减去指定的时间量,在当前时间上加10天
* 使用GregorianCalendar的isLeapYear方法判断是否是闰年
*/
public class CalendarDemo { public static void main(String[] args) {
/*
* 将当前日期时间表是为年,月,日,时,分,秒
*/
Calendar calendar=Calendar.getInstance(); //日历对象
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1; //月份默认是0-11需要手动加1
int day=calendar.get(Calendar.DAY_OF_MONTH);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
int second=calendar.get(Calendar.SECOND);
System.out.println("今天是: "+year+"年"+month+"月"+day+"日");
System.out.println("现在时: "+hour+"时"+minute+"分"+second+"秒");
/*将当前时间的月份设置为9 月*/
calendar.set(Calendar.MONTH, 8); //设置月份时-1
int year1=calendar.get(Calendar.YEAR);
int month1=calendar.get(Calendar.MONTH)+1; //月份默认是0-11需要手动加1
int day1=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("今天是: "+year1+"年"+month1+"月"+day1+"日");
//将当前时间加10天
calendar.add(Calendar.DAY_OF_MONTH, 10);
int year2=calendar.get(Calendar.YEAR);
int month2=calendar.get(Calendar.MONTH)+1; //月份默认是0-11需要手动加1
int day2=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("今天是: "+year2+"年"+month2+"月"+day2+"日");
/*判断 是否是闰年*/
GregorianCalendar gregorianCalendar=new GregorianCalendar();
boolean flag=gregorianCalendar.isLeapYear(gregorianCalendar.get(gregorianCalendar.YEAR));
if(flag==true){
System.out.println("今年是闰年!");
}else{
System.out.println("今年是不闰年!");
}
} }
三、SimpleDateFormat类
格式化模板
No.
|
标记
|
描述
|
1
|
y
|
年,年份是四位数字,所以需要使用“yyyy”表示年。
|
2
|
M
|
年中的月份,月份是两位数字,所以需要使用“MM”表示月。
|
3
|
d
|
月中的天数,天数是两位数字,所以需要使用“dd”表示日。
|
4
|
H
|
一天中的小时数(24小时),小时是两位数字,使用“HH”表示小时。
|
5
|
m
|
小时中的分钟数,分钟是两位数字,使用“mm”表示分钟。
|
6
|
s
|
分钟中的秒数,秒是两位数字,使用“ss”表示秒。
|
7
|
S
|
毫秒数,毫秒数字是三位数字,使用“SSS”表示毫秒。
|
四、例子
package com.pb.demo3; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DateTest { public static void main(String[] args) {
//声明SimpleDateFormat对象并规定格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获得当前时间
Date date=new Date();
System.out.println("当前时间: "+sdf.format(date));
String newStr="2011-08-25 14:07:26";
try {
Date newdate=sdf.parse(newStr);
System.out.println("转换后的时间:"+newdate); } catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }