Date类
Date在java中表示时间,时间单位为毫秒。存在一下两个构造方法
方法 | 说明 |
public Date() | 用当前时间创建对象 |
public Date(long date) | 用毫秒值创建时间对象,毫秒值代表距离基准时间的差值时间 |
基准时间:1970年1月1日00:00:00 GMT
public class Test01 {
public static void main(String[] args) {
//Date的构造方法
//new Date():代表当前时间
Date d = new Date();
System.out.println(d);//
//new Date(long date):代表距离基准时间的差值时间
//1970年1月1日8点0分1秒
Date d2 = new Date(1000);
System.out.println(d2);
//1970年1月1日9点0分0秒
Date d3 = new Date(1000*60*60);
System.out.println(d3);
}
}
运算结果:
Date的常用方法:
方法 | 说明 |
getTime() | 获取时间的毫秒值 |
setTime(long time) | 设置时间的毫秒值 |
before(Date date) | 判断在某个时间之前 |
after(Date date) | 判断在某个时间之后 |
import java.util.Date;
public class Test02 {
public static void main(String[] args) {
//创建对象
Date d = new Date();
Date d2 = new Date();
//getTime()
//获取时间的毫秒值
long time = d.getTime();
System.out.println(time); //1597027887127 1970年1月1日到现在的毫秒值差值
//setTime(long time)
//设置时间的毫秒值
d.setTime(235252352377L);
System.out.println(d);
//判断
System.out.println(d.after(d2)); //1977是否在2020之后 false
System.out.println(d.before(d2)); //1977是否在2020之前 true
}
}
DateFormat类
DateFormat是日期格式化类,能够把日期转成不同格式的字符串。
由于DateFormat是一个抽象类,所以在创建的时候创建的是其子类对象:SimpleDateFormat;
其常用方法有以下两个:
方法 | 说明 |
String format(Date date) | 把日期按照指定格式转换成字符串 |
Date parse(String s) | 把字符串按照指定格式转换成日期 |
两种方法的用法如下:
Calendar类
Calendar日历类把和时间相关的所有值都变成一个字段,方便操作各个字段
创建对象:Calendar c=Calendar.getInstance();
方法 | 说明 |
int get(int field) | 获取某个字段的值 |
void set(int field,int value) | 设置某个字段的值 |
void add(int field,int amount) | 偏移某个字段的值(在原有的基础上加减) |
setTime(Date date ) | 把Date对象的时间赋值给Calendar |
package com.itheima;
import java.util.Calendar;
public class DemoCalendar {
public static void main(String[] args) {
//创建calendar对象
Calendar calendar=Calendar.getInstance();
//获取年
System.out.println(calendar.get(Calendar.YEAR));
//获取月(月的取值范围0~11)
System.out.println(calendar.get(Calendar.MONTH)+1);
//获取日
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
//获取时
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
//获取分
System.out.println(calendar.get(Calendar.MINUTE));
//获取秒
System.out.println(calendar.get(Calendar.SECOND));
//获取周几,结合getWeek方法使用
System.out.println(getWeek(calendar.get(Calendar.DAY_OF_WEEK)));
}
//获取周几
public static String getWeek(int n){
String[] strings={"","周一","周二","周三","周四","周五","周六","周日"};
return strings[n];
}
}