最近在使用java里的日期类的时候查了很多资料,各有千秋吧,但总还是不够满意,有的时候需要的其实就是最简单的显示当前时间,不需要那么多其他的解释,所以决定自己总结一下关于时间的常用类,由简入繁吧!come on !
最好理解-Date类
调用方法:
Date date = new Date();
System.out.println(date)
输出示例:
Mon Jul 22 18:45:21 CST 2019
设置日期格式(如果需要):
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sf.format(date));
- 第一句的意思就是调用设置日期格式的类来设置你要的日期格式,
“年-月-日 小时:分:秒”
随你怎么设置 - 第二句的意思就是使用对象
sf
的方法format(Date date)
来返回你需要的格式的字符串然后调println
输出就行
最简单–Calendar日历类
调用方法(当前时间):
Calendar cal = Calendar.getInstance();
输出(年/月/日)
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DATE));
System.out.println(Calendar.MONTH);//一周的第几天
输出示例:
2019
6
22
- 方法就是调用
get(参数)
方法,里面输入你要年还是月还是日,还是其他的,里面很多选择 - 这样出来的月是从0月开始的,所以七月显示的是6
- 最后一个周的显示是从周日开始的,所以周一显示2
处理非当前时间
cal.setTime(d1);
- 如果有得到的时间,比如从数据库得到的Date类型的时间,不是当前时间,怎么读取需要格式年月日呢?只需要将上述代码加到上一种代码的调用方法之后即可。注意:d1是
Date
类型的日期,这样就可以提取你所需要的年月日啦
自定义格式转换
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String dates = "1999-09-05 21:12:30";
try
{
System.out.println(sf.parse(dates)); //日期转换
} catch (ParseException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
- 通过上面的方法就可以将
dates
字符串转换为Date
格式的啦,当然了,dates
字符串输入的时候一定要按照时间格式类定义的要求来输入