类型分类:时间date 和 字符串string 中间联系的 format
Date类型
Date date = new Date();
默认返回当前的时间 但是不是东八区。
页可以传参数 多少毫秒 long类型,getTime返回距离基准(1970年1月1日)的毫秒数量。
tips:可以使用after,before函数判断时间前后;compareTo也ok。
toString()方法也实现了重写。
format类型
转化的桥梁。
抽象 DateFormat 类
记住转化格式
格式 | 含义 |
---|---|
yyyy | 年 |
MM | 月 |
dd | 日 |
HH | 时 |
mm | 分 |
ss | 秒 |
SimpleDateFormat类
需要一个特定的模式来转换
String format = "yyyy-MM-dd HH:mm:ss" // 你需要转换的格式类型
SimpleDateFormat df = new SimpleDateFormat(format)
// 进行后续的操作
重要操作函数
- parse(): String -> Date
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str = "2018年12月11日";
Date date = df.parse(str);
System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
- format():Date -> String
Date date = new Date();
// 创建日期格式化对象,在获取格式化对象时可以指定风格
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str = df.format(date);
System.out.println(str); // 2020年09月19日
Calendar类型
替代date类的一种方法。由于敏感性,静态类的使用。
注意Calendar的月份是从0开始的,需要加一操作
西方星期的开始为周日(1)周一(2),中国开始为周一,因此可以-1使用。
Calendar calendar = Calendar.getInstance();
常用方法
- public int get(int field):返回给定日历字段的值。
- set(int filed,int value):设定特定的的值
- add(int field,int addNum): 加上多少值 。参数位负数,则为相减去
- public Date getTime(): 返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
成员变量可以了解一下 注意是静态
// 创建Calendar对象
Calendar cal = Calendar.getInstance();
// 获取年
int year = cal.get(Calendar.YEAR);
// 获取月
int month = cal.get(Calendar.MONTH) + 1;
// 获取日
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
System.out.print(year + "年" + month + "月" + dayOfMonth + "日");