导入java包:java.util.Date
public static void main(String[] args) {
// java.util.Date
Date date = new Date();
System.out.println(date);//Thu Mar 17 21:56:35 CST 2022
System.out.println(date.toString());//Thu Mar 17 21:58:56 CST 2022
System.out.println(date.toLocaleString());
System.out.println(date.getYear()+1900);//获取的值再加1900 等于当前的年份 过期方法
System.out.println(date.getMonth());// 返回的值在0和11之间,值0表示1月 过期方法
//返回自1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数
System.out.println(date.getTime());//1647525603786
System.out.println(System.currentTimeMillis());//1647525693067
/*
1)疑问:以后获取时间差用:getTime()还是currentTimeMillis()
答案:currentTimeMillis() -->> 因为此方法是静态的,可以类名.方法名直接调用
2)public static native long currentTimeMillis();
本地方法
为什么方法体?因为这个方法的具体实现不是通过java写的
3)这个方法的作用:
*/
long startTime = System.currentTimeMillis();
for (int i=0;i<100000;i++){
System.out.println(i);
}
long endTime=System.currentTimeMillis();
System.out.println( endTime-startTime);
}
导入java.sql.Date
public static void main(String[] args) {
//java.sql.Date:
Date date=new Date(1647526169103L);//public Date(long date) 底层没有空构造器
System.out.println(date); // 2022-03-17
/*
* 1)java.util.Date 和 java.sql.Date的区别
* java.util.Date:年月日 时分秒
* java.sql.Date:年月日
* 2)java.util.Date 和 java.sql.Date的联系
* java.sql.Date(子类)extends java.util.Date(父类)
*
* 3)java.util.Date 和 java.sql.Date相互转换:
*
*
* */
// 1. util-->sql:
java.util.Date date1 = new Date(1647526169103L);
/*类似
Animal an =new Cat();
Cat cat=(Cat)an;
*/
//方式1 向下转型
Date date2=(Date)date1;
//方式2:利用构造器
Date d= new Date(date.getTime());
//2.sql-->util:
java.util.Date date3= date;//父类引用指向子类对象
//3. String -->sql.Date:
Date date4 = Date.valueOf("2018-3-4");
}