Date类
Date表示特定的瞬间,精确到毫秒。
Date类中的大部分方法已经被Calendar类中的方法所取代;
时间单位:
1秒 = 1000毫秒;
1毫秒 = 1000微秒;
1微秒 = 1000纳秒;
Date()
分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒);
Date(long date)
分配Date对象并初始化此对象,以表示自从标准基准时间(1970年1月1日0:00)以来的指定毫秒数;
Calendar类
Calendar提供了获取或设置各种日历字段的方法;
构造方法:protected Calendar():由于修饰符是protected,所以无法直接创建该对象;
其他方法:
方法名 | 说明 |
---|---|
static Canlendar getlnstance() | 使用默认时区和区域获取日历; |
void set(int year,int month,int date,int hourofday,int minute,int second) | 设置日历的年、月、日、时、分、秒; |
int get(int field) | 返回给定日历字段(如年月日)的值; |
void setTime(Date date) | 用给定的Date设置此日历的时间; |
Date getTime() | 返回一个Date表示此日历的时间; |
void add(int field,int amount) | 按照日历的规则给指定字段添加或减少时间量; |
long getTimeInMillies() | 毫秒为单位返回该日历的时间值; |
public class Date {
public static void main(String[] args) {
//1.创建Calendar对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());//显示当前时间
System.out.println(calendar.getTimeInMillis());
//2.获取时间信息
int Year = calendar.get(Calendar.YEAR);
int Month = calendar.get(Calendar.MONTH);//0-11,0表示1月,11表示12月,使用时可以加1
int Day = calendar.get(Calendar.DAY_OF_MONTH);
int Hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR 12小时制;HOUR_OF_DAY24小时制
int Minute = calendar.get(Calendar.MINUTE);
int Second = calendar.get(Calendar.SECOND);
System.out.println(Year+"年"+(Month+1)+"月"+Day+"日"+Hour+"时"+Minute+"分"+Second+"秒");
//3.修改时间
Calendar calendar1 = Calendar.getInstance();
calendar1.set(Calendar.MONTH,5);
System.out.println(calendar1.getTime().toLocaleString());
//4.add方法添加或减少时间
calendar.add(Calendar.HOUR_OF_DAY,-1);
System.out.println(calendar.getTime().toLocaleString());
//5.补充方法
int max = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
int min = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println("最大日期"+max+",最小日期"+min);
}
}
SimpleDateFormat类
SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类;
进行格式化(日期->文本)、解析(文本->日期);
常用的时间模式字母:
字母 | 日期或时间 | 示例 |
---|---|---|
y | 年 | 2023 |
M | 年中月份 | 03 |
d | 月中天数 | 28 |
H | 一天中小时数(0-23) | 10 |
m | 分钟 | 25 |
s | 秒 | 59 |
S | 毫秒 | 234 |