1、什么是Date和Calendar
a、Date类表示的是特定的,瞬间的,它能精确毫秒。
b、Calendar它是一种抽象类,相比Date它在操作日历的时候提供了一些方法来操作日历字段
2、Date和Calendar常见的使用方式
a、Date
下面展示一些 内联代码片
。
Date date = new Date();
System.out.println("毫秒:"+date.getTime());//输入毫秒
//时间转字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(date);
System.out.println("时间转字符串:"+time);
//利用字符串来转时间格式(记得抛出异常)
String time02 = "2018-09-05";
SimpleDateFormat sdf2 = new SimpleDateFormat ("yyyy-MM-dd");
Date date2 = sdf2.parse(time02);
System.out.println("字符串转时间格式:"+date2);
b、Calendar
// 使用默认时区和语言环境获得一个日历
Calendar cal = Calendar.getInstance();
// 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + cal.get(Calendar.MINUTE));
System.out.println("秒:" + cal.get(Calendar.SECOND));
//手动设置某个日期
Calendar cal02 = Calendar.getInstance();
//注意,设置时间的时候月份的下标是在0开始的
//设置时间不一定要这6个参数3个参数也是可以的
cal02.set(2018,9,1,12,0,0);//二零一八年十月一号十二点
System.out.println(cal02.getTime());
c、Date和Calendar互相转换
1、Calendar转Date
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String s = simpleDateFormat.format(date);
System.out.println("时间为===="+s);
2、Date转Calendar
Date date2 = new Date();
Calendar cal2 = Calendar.getInstance();
cal2.setTime( date );
Date date2 = new Date();
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date );
System.out.println(cal2.get(Calendar.YEAR) +"-"+(cal2.get(Calendar.MONTH)+1)+"-"+cal2.get(Calendar.DATE));
注意:
在大多数情况下,date要实现的功能都可以通过calendar来实现的(少数情况除外),在这上面只是列出的常用方法,感兴趣的程序猿可以通过这些方法来简单的去使用Calendar和Date,在使用的过程当中一点要注意代码的中的注释哦。
3、Date和Calendar有什么区别
区别:比较哟明显的区别是Date是日期,Calendar是日历,Date是类,Calendar是抽象类。当然,你也可以觉得Calendar是Date的加强版
4、在开发过程当中,使用Date和Calendar哪种的效率更高
这个就要看项目的具体需求了,不过在当前的开发环境中,Calendar使用的情况是比Date更多,毕竟它提供的方法大大的方便了我们程序猿完成跟时间有关的功能,但是这并不意味这Date就会淘汰,毕竟他们两个还是有区别的,笔者只是认为Calendar用起来更好。
5.SimpleDateFormat函数语法: