Date类概念
Date类主要是对日期进行操作的诸多方法,但是获得的日期会转变为毫秒级进行运算,所以用起来不是太方便。所以提出Calendar类来进行日期操作,日期的格式化交给了DateFormat来进行处理。
Date类的起始时间是公元1970年午夜0点,计算方式是根据时间和毫秒之间的转换来完成的。
Date的用法
- 空参构造,换取当前的系统时间
Date d = new Date();
System.out.println(d);
返回值:Thu Mar 21 15:09:40 CST 2019
- 传递毫秒值,将毫秒转换成日期格式
Date d = new Date(300000000000L);
System.out.println(d);
返回值:Thu Jul 05 13:20:00 CST 1979
- getTime()传递日期获得毫秒值
Date date = new Date();
long time = date.getTime();
System.out.println(time);
返回值:1553152697564
- setTime()传递毫秒值获得日期
Date date = new Date();
date.setTime(500000);
System.out.println(date);
返回值:Thu Jan 01 08:08:20 CST 1970
DateFormat的日期格式化
日期的模式:yyyy-年份;MM-月份;dd-日;HH-小时;mm-分钟;ss-秒;
//定义日期时间格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分钟ss秒");
//获取当前时间
String ad = sdf.format(new Date());
System.out.println(ad);
返回值:2019年03月21日 16点04分钟47秒
Calendar的使用
Calendar是一个抽象类,使用时需要特定的子类对象getInstance()来实现。其中get方法可以获取日期的年、月、日。set方法可以写入日期;
例:get方法获取时间
//获取当前日期
Calendar c = Calendar.getInstance();
//通过get获取年、月、日
int year = c.get(Calendar.YEAR);
//Calendar的月份是0-11的,多以对应月份要+1
int month = c.get(Calendar.MONTH) + 1;
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day+"日");
返回值:2019年3月21日
例:set方法设置时间
Calendar c = Calendar.getInstance();
// 设置相应时间,年,月,日
c.set(2022, 2,20);
//获得年份
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day);
返回值:2022年3月20