1)、java.util.Date日期类:Date d=new Date();
用于表示或存储精确值(long 型值)
通常用于进行精确值的获取或计算,用计算后的精确值创建一个新的日期对象,精确值==当前日期时间的距离“1970年1月1日0时0分0秒0毫秒”所经过的毫秒值。
@Test public void Demo1(){ Date d=new Date();//输出当前时间要用d.toString(); long lg=d.getTime(); lg=lg+24*60*60*1000L;//常量值后面要加L防止bug Date d2=new Date(lg);//将计算后的精确值封装成一个Data对象 int y=d.getYear();//已经过时,有关于获取年月日的方法全部过时,以后要用Calender System.out.println(lg+","+y); }
计算程序运行的时间:可以在程序运行之前和程序运行之后的位置加入语句,long t=new Data().getTime();//获得的是毫秒值
最后用t(结束)-t(开始)就好
2)、java.util.Calender日历类:
提供了很多日期和时间方面的操作运算
如获得年月日,时分秒,星期几等也可以以这些单独进行运算
@Test public void Demo2(){ Calendar c=Calendar.getInstance();//日历对象要用工厂方法来创建对象 //设置和获取日期中的年月日都是通过getter和setter方法 int year=c.get(Calendar.YEAR);//获得年份 System.out.println(year); System.out.println(Calendar.MONTH);//0一月、1二月 System.out.println(Calendar.DAY_OF_WEEK); System.out.println(Calendar.DAY_OF_WEEK_IN_MONTH); c.set(Calendar.YEAR, 2020);//设置年 c.add(Calendar.HOUR, -4800);//进行加法运算 }
3)、java.util.DateFormat(其子类是SimpleDateFormat)日期格式化类
用于“日期文本串”和日期对象之间的转换,格式化,得到一个字符串。
@Test public void Demo3(){ //格式化:把Date对象变成字符串 Date d=new Date(); DateFormat df=new SimpleDateFormat("yyyy:MM:dd HH:mm:ss"); String str=df.format(d); System.out.println(str); //解格式:把字符串变成Date对象 String str2="2018:06:13 20:41:01"; DateFormat df2=new SimpleDateFormat("yyyy:MM:dd HH:mm:ss"); try { Date dd=df2.parse(str2);//将str2变成日期对象 String ss=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(dd); System.out.println(ss); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Calender和Date之间的转换
//Calender转换成Date
Calendar c=Calendar.getInstance(); Date d=c.getTime(); System.out.println(d);
//Date转换成Calender
Calendar c2=Calendar.getInstance(); c2.setTime(new Date()); System.out.println(c2.get(Calendar.MINUTE)+"分");