一、Date类:代表时间的类
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date now1 = new Date();
System.out.println("now1:" + now1);
// 实际年份需要减去1900,月份需要减去1
Date now2 = new Date(2018 - 1900, 12 - 1, 17);
System.out.println("now2: " + now2);// 显示2018年12月17日
int year = now1.getYear() + 1900;
System.out.print("年份:" + year + " ");
int month = now1.getMonth() + 1;
System.out.print("月份:" + month + " ");
int date = now1.getDate();
System.out.print("日期:" + date + " ");
int hour = now1.getHours();
System.out.print("小时:" + hour + " ");
int minute = now1.getMinutes();
System.out.print("分钟:" + minute + " ");
int second = now1.getSeconds();
System.out.print("秒:" + second + " ");
int day = now1.getDay();
System.out.print("星期:" + day + " ");
System.out.println();
// Date对象和相对时间的转换
Date date2 = new Date();
long time = date2.getTime();// 等价于long time2=System.currentTimeMillis();
System.out.println(time);
Date date3 = new Date(time);
System.out.println(date3);
// Date对象之间的比较,date2<date3返回负数,大于返回正数,相等,返回0
System.out.println(date2.compareTo(date3));
}
}
程序运行结果:
now1:Mon Dec 17 16:47:10 GMT+08:00 2018
now2: Mon Dec 17 00:00:00 GMT+08:00 2018
年份:2018 月份:12 日期:17 小时:16 分钟:47 秒:10 星期:1
1545036430848
Mon Dec 17 16:47:10 GMT+08:00 2018
0
二、Calendar类
import java.util.Calendar;
public class CalendarTest {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
// c.set(2018, 12-1, 17);//实际表示2018年12月17日,年份直接书写,月份减1。
int year = c.get(c.YEAR);
int month = c.get(c.MONTH) + 1;
int date = c.get(c.DATE);
int hour = c.get(c.HOUR);
int minute = c.get(c.MINUTE);
int second = c.get(c.SECOND);
int day = c.get(c.DAY_OF_WEEK)-1;
System.out.print("年份:" + year + " ");
System.out.print("月份:" + month + " ");
System.out.print("日期:" + date + " ");
System.out.print("小时:" + hour + " ");
System.out.print("分钟:" + minute + " ");
System.out.print("秒:" + second + " ");
System.out.print("星期:" + day + " ");
System.out.println();
// add方法:计算100天以后的日期
c.add(Calendar.DATE, 100);
System.out.println("100天后:" + c.get(c.YEAR) + "年" + (c.get(c.MONTH) + 1) + "月" + c.get(c.DATE) + "日");
// after方法:public boolean after(Object when)判断当前时间是否在when对象的后面。
Calendar c2 = Calendar.getInstance();
c2.set(2018, 11 - 1, 22);
Calendar c3 = Calendar.getInstance();
c3.set(2018, 12 - 1, 17);
boolean b = c3.after(c2);
System.out.println("2018年12月17日是否在2018年11月22日之后:" + b);
// Calendar对象和相对时间的转换
Calendar c4 = Calendar.getInstance();
long time = c4.getTimeInMillis();
Calendar c5 = Calendar.getInstance();
c5.setTimeInMillis(time);
}
}
程序运行结果:
年份:2018 月份:12 日期:17 小时:4 分钟:48 秒:38 星期:1
100天后:2019年3月27日
2018年12月17日是否在2018年11月22日之后:true