一、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(); } } }
时间: 2024-12-27 22:02:17