文章目录
1. Data 与 DataFormat 的使用
1.1 Date 来获取系统日期
/**
* Data 与 DataFormat 的使用
*/
public static void practice6() {
// 以系统当前日期构造对象
Date date = new Date();
// date.getYear() 得到当前年份与1900年的差值
int year = date.getYear() + 1900;
// 月份下标从0开始
int month = date.getMonth() + 1;
System.out.println(year + "/" + month);
}
2022/3
1.2 日期格式化
/**
* 将日期按照指定格式输出字符串
*/
public static void practice7() {
/*
* 1. SimpleDateFormat
*
* 2. 能够将日期按照指定格式输出字符串
*/
SimpleDateFormat format1 = new SimpleDateFormat("yy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat format2 = new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat format4 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = new Date(); // 获取系统当前时间,作为对象
System.out.println(format1.format(date));
System.out.println(format2.format(date));
System.out.println(format3.format(date));
System.out.println(format4.format(date));
}
22年03月15日 20时48分36秒
22/03/15 20:48
2022-03-15 20:48:36
2022年03月15日 20时48分36秒
1.3 文本数据解析成日期对象
/**
* 文本数据解析成日期对象
*/
public static void practice8() {
SimpleDateFormat format1 = new SimpleDateFormat("yyyy/MM/dd");
Date date = null;
String s1 = "2020/3/11";
/*
* 1. parse()
*
* 2. 将一个符合格式的日期型字符串解析成日期
*
* 3. 这个方法抛出 ParseException 异常
*/
try {
date = format1.parse(s1);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(format1.format(date));
}
2020/03/11
1.4 计算日期差
/**
* 计算日期差
*/
public static void practice9() {
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
String s = "2020/7/29";
Date d1 = null;
try {
d1 = format.parse(s);
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
Date d2 = new Date();
/*
* 1. getTime()
*
* 2. 得到两个时间差的毫秒差
*/
int days = (int) ((d2.getTime() - d1.getTime()) / (1000 * 60 * 60 * 24));
System.out.println("距" + s + "已经过去了" + days + "天");
}
距2020/7/29已经过去了594天
2. Calender 日历类使用
2.1 构造一个实例
// 以系统当前日期构造 Calender实例
Calendar cal = Calender.getInstance();
2.2 读取日期的某个部分值
/**
* 1. 读取日期的某个部分值
*
* 2. 2022/3/15
*/
public static void practice10() {
Calendar cal = Calendar.getInstance();
/** 目前已经过了多少天 */
int day = cal.get(Calendar.DAY_OF_YEAR);
/** 目前是2022年 */
int year = cal.get(Calendar.YEAR);
int weekday = cal.get(Calendar.DAY_OF_WEEK);
/** 目前这一月有多少天 */
int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(day + " " + weekday + " " + year + " " + days);
}
2.3 设置时间 set
/**
* 设置时间 set
*/
public static void practice11() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2010);
cal.set(Calendar.MONTH, 4);
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH));
}
2010
4
2.4 日期加法
// 当前日期的分钟加上15
cal.add(Calendar.MINUTE, 15);
2.5 Calendar 与 Date 对象的转换
针对Date类有些方法有些过期
Date date = new Date();
Calendar calendar = Calender.getInstance();
calendar.setTime(date);