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)+"分");