文章目录
与时间相关的操作
Systen.currentTimeMills()
1、获取的是long类型。
2、通常用来做计算,计算效率(7天以内的计算)。
3、在进行计算时,需要注意整数类型的默认值是int类型,如果超出了int类型的范围,就是溢出了,就会变成负数,所以需要在计算之前先标记好是long类型,加L/l。
Date类
Date类是专门用来做时间的显示的类。
构造方法
1)得到当前系统时间
new Date()
Date date=new Date();
System.out.println(date.toString());
结果如下:
2)得到long类型的时间
new Date(long)
Date date=new Date(0);
System.out.println(date.toString());
date=new Date(120000);//120000毫秒 120秒 2分钟
System.out.println(date.toString());
结果如下:
1970年1月1日8点是格林尼治时间。
常用的简单API
1、时间的比较
Date1.before(Date2)
Date1.after(Date2)
Date date1=new Date(0);
Date date2=new Date(120000);
System.out.println(date1.before(date2));//date1是否早于date2
System.out.println(date1.after(date2));//date1是否晚于date2
结果如下:
通过Date类型来获取Long类型
date.getTime()
Date date=new Date();
System.out.println(date.getTime());
结果如下:
从1970年1月1日8点至今经历的毫秒数。
万年历-Calendar
专门用来做时间推算或者是时间跳转。
是abstract修饰的类,是一个抽象类,所以不能直接new对象,只能创建子类或者调用类的静态方法。
创建
Calendar cal=Calendar.getInstance()
Calendar cal=Calendar.getInstance();
常用API
get(int field) - 获取时间
set(int field,int value) - 时间的跳转
add(int field,int value) - 时间的推算
field:Calendar有很多值域,他们是Calendar里的静态常量,例如YEAR,代表年,MONTH代表月,DAY代表日,DAY_OF_WEEK,代表该日期是这周中的第几天等等。使用时,在前面加上Calendar. 。
value:数值,即更改或增减的数值。
Calendar cal=Calendar.getInstance();//获取现在时间
System.out.println(cal.get(Calendar.YEAR));//打印年份
cal.add(Calendar.YEAR,2);//年份+2
System.out.println(cal.get(Calendar.YEAR));
cal.set(Calendar.YEAR,2077);//设定年份
System.out.println(cal.get(Calendar.YEAR));
结果如下:
(如果在add方法里加一个负数,则是减少相应的时间)
Date和Calendar之间的转换
Calendar -> Date:
date=Cal.getTime()
Date -> Calendar:
Cal.setTime(data)
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();//Date转化为Calendar
System.out.println(date.toString());
Date date1=new Date(1200000);
cal.setTime(date1);//Calendar转化为Date
System.out.println(cal.toString());
结果如下:
Calendar 和 long 之间的转换
1、Calendar转化为Long类型:
getTimeInMillis()
2、Long类型转化为Calendar:
setTimeInMillis()
Calendar cal=Calendar.getInstance();
System.out.println(cal.getTimeInMillis());//Calendar转化为Long
cal.setTimeInMillis(120000);//Long转化为Calendar
System.out.println(cal.toString());
结果如下:
SimpleDateFormat
常用API
1、使用指定格式将时间格式化(date -> String)
String format(date)
2、将字符串转变成时间(String -> date)
Date parse(“String”);
3、注意:
要求必须符合SimpleDateFormat的格式
否则就会出现ParseException
public void test6() throws ParseException{
//抛出ParseException
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
System.out.println(simpleDateFormat.format(date));
//将日期化为指定格式输出
String str="2021-07-02";
Date date1=simpleDateFormat.parse(str);
//将指定格式的字符串转化为Data类型
System.out.println(date1.toString());
}
结果如下: