JAVA日期类
程序中的日期和时间,也是对象形式
要求:如何创建日期对象
1、Date
java.util.Date
//如何创建日期对象
Date date1 = new Date();
System.out.println("date1 = " + date1);
//获取日期字段的方法
System.out.print(date1.getYear()+1900+"年");
System.out.print(date1.getMonth()+1+"月");
System.out.print(date1.getDate()+"日");
System.out.print(date1.getHours()+":");
System.out.print(date1.getMinutes()+":");
System.out.println(date1.getSeconds());
System.out.println(date1.getTime());//获取从1970年至今经过的毫秒数 1秒=1000毫秒
倒计时案例
/**
* 倒计时关机
*/
public class Demo02 {
public static void main(String[] args) throws Exception {
//60秒后的时间
Date mb = new Date();
mb.setMinutes(mb.getMinutes()+1);//原有分钟+1
long a = mb.getTime();//从1970年至今的毫秒数
while(true){
Date now = new Date();//当前时间
long b = now.getTime();//从1970年至今的毫秒数
//时间差
long c = a-b;
//是否时间到了
if(c<=0){
System.out.println("时间到了,开始关机...");
//Runtime是计算机环境,getRuntime()获取环境对象
Runtime runtime = Runtime.getRuntime();
runtime.exec("shutdown -s -t 60 -f ");//执行计算机命令的方法
break;//结束循环
}
//倒计时显示
System.out.println("剩余"+c/1000+"秒关机");
//休眠
Thread.sleep(1000);
}
}
}
2、Calendar
日历类,拥有更多的日期时间相关的字段
/**
* Calendar日历
*/
public class Demo03 {
public static void main(String[] args) {
//创建日历对象
Calendar cal = Calendar.getInstance();
//设置日期
cal.set(Calendar.MONTH,9);
System.out.println("cal = " + cal);
//获取日期
System.out.print(cal.get(Calendar.YEAR)+"年");
System.out.print(cal.get(Calendar.MONTH)+1+"月");
System.out.print(cal.get(Calendar.DATE)+"日");
System.out.print(cal.get(Calendar.HOUR_OF_DAY)+":");
System.out.print(cal.get(Calendar.MINUTE)+":");
System.out.println(cal.get(Calendar.SECOND));
//如何转为Date
Date date = cal.getTime();
System.out.println("date = " + date);
//获取从1970年至今的毫秒
System.out.println(cal.get(Calendar.MILLISECOND));
//演示Fu调用方法,间接创建子类型对象
Fu fu = Fu.getInstance();
System.out.println("fu = " + fu);
}
}
//理解通过一个类方法获取子类对象
abstract class Fu{
public static Fu getInstance(){
return new Zi();
}
}
class Zi extends Fu{
}
3、LocalDate/LocalDateTime
JDK1.8更新的特性
java.time.LocalDate 只包含日期,不包含时间
java.time.LocalDateTime只包含时间,不包含日期
//新特性,JDK1.8新增的内容
LocalDate now1 = LocalDate.now();
System.out.println("now1 = " + now1);
LocalDateTime now = LocalDateTime.now();
System.out.println("now = " + now);