1. Date
(1) Date代表的是日期和时间
(2) 常见构造器和常用方法
构造器 | 说明 |
public Date() | 创建一个Date对象,代表系统当前日期和时间 |
public Date(long time) | 根据传入的时间毫秒值创建一个Date对象 |
方法 | 说明 |
public long getTime() | 返回从1970.1.1 00:00:00到此时的毫秒数 |
public void setTime(long time) | 设置日期对象的时间为传入的时间毫秒值对应的时间 |
public static void main(String[] args) {
//Date
//public Date() 创建一个Date对象,代表系统当前日期和时间
Date date = new Date();
System.out.println(date);
//public long getTime() 返回从1970.1.1 00:00:00到此时的毫秒数
long time = date.getTime();
System.out.println(time);
//public Date(long time) 根据传入的时间毫秒值创建一个Date对象
Date date1 = new Date(time + 1000);
System.out.println(date1);
//public void setTime(long time) 设置日期对象的时间为传入的时间毫秒值对应的时间
Date date2 = new Date();
date2.setTime(time);
System.out.println(date2);
}
2. SimpleDateFormat
(1) SimpleDateFormat 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成功我们想要的格式。
(2) SimpleDateFormat常用构造器和方法
常用构造器 | 说明 |
public SimpleDateFormat(String pattern) | 创建简单日期格式化对象,并封装时间的格式 |
常用方法 | 说明 |
public final String format(Date date) | 将日期格式化成日期/时间字符串 |
public final String format(Object time) | 将时间毫秒值格式化成日期/时间字符串 |
时间格式:
public static void main(String[] args) {
//SimpleDateFormat
Date date = new Date();
System.out.println(date);
long time = date.getTime();
System.out.println(time);
//格式化日期时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
System.out.println(sdf.format(time));
}
(3) 时间格式常见的符号
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
EEE | 星期几 |
a | shangwu |
(4) SimpleDateFormat把字符串解析成日期对象
public Date parse(String source) 把字符串解析成日期对象
public static void main(String[] args) throws ParseException {
// public Date parse(String source) 把字符串解析成日期对象 throws ParseException 程序单选格式不一样
String dateStr ="2024-12-19 12:00:00";
//创建简单日期格式对象,指定的时间格式必须与被解析的时间格式一致,否则会出bug
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = simpleDateFormat.parse(dateStr);
System.out.println(date1);
}
3. Calendar
(1) Calendar 代表的是系统此刻时间对应的日历;通过他可以单独获取/修改时间中的年、月、日、时、分、秒等;
(2) Calendar是一个抽象类;可以通过Calendar rightNow = Calendar.getInstance();来获取当前日历对象
(3) Calendar常用的方法
常用方法 | 说明 |
public static Calendar getInstance() | 获取当前日历对象 |
public int get(int field) | 获取日历中的某个信息 |
public final Date getTime() | 获取日期对象 |
public long getTimeInMillis() | 获取时间毫秒值 |
public void set(int field, int value) | 修改日历的某个信息 |
public abstract void add(int field, int amount) | 为某个信息增加/减少指定的值 |
public static void main(String[] args) {
//Calendar
//public static Calendar getInstance() 获取当前日历对象
Calendar cal = Calendar.getInstance();
System.out.println(cal);
//public int get(int field) 获取日历中的某个信息
System.out.println(cal.get(Calendar.YEAR));//年
System.out.println(cal.get(Calendar.MONTH) + 1);//月 从0开始
System.out.println(cal.get(Calendar.DAY_OF_MONTH));//日
//public final Date getTime() 获取日期对象
Date date = cal.getTime();
System.out.println(date);
//public long getTimeInMillis() 获取时间毫秒值
long time = cal.getTimeInMillis();
System.out.println(time);
//public void set(int field, int value) 修改日历的某个信息
cal.set(Calendar.YEAR, 2030);//修改年
cal.set(Calendar.MONTH, 9);//修改月
cal.set(Calendar.DAY_OF_MONTH, 6);//修改日
//public abstract void add(int field, int amount) 为某个信息增加/减少指定的值
cal.add(Calendar.YEAR, -5);//当前年份-5
cal.add(Calendar.MONTH, 3);//当前月份+3
cal.add(Calendar.DAY_OF_MONTH, +2);//当前日+2
}
(4) Calendar 是可变对象,一旦修改后其对象本身表示的时间将发生变化