本文主要针对Date
,Calendar
两个类的部分操作做说明,目前的项目中使用这两个类已经可以满足使用,将项目中用到的内容做一个总结,方便日后查询。
Calendar注意事项
- Calendar默认一月为0;
在设置月份时,以一月为例
Calendar cal = Calendar.getInstance();
cal.set( Calendar.MONTH, 1 - 1 ); // 用要设置的月份减去1, 所以1月为0;
对日期进行操作
获取当前日期
Date curDate = Calendar.getInstance().getTime();
Date和Calendar的转化
Date curDate = Calendar.getInstance().getTime();
Calendar cal = Calendar.getInstance();
cal.setTime( curDate );
Date newDate = cal.getTime();
获取当前日期的前n天
通过add()
来实现,之前的用-
符号来表示获取之前的days
天;
cal.setTime( curDate );
cal.add( Calendar.DAY_OF_YEAR, -days );
获取指定日期当月的最后一天
int day = cal.getActualMaximum( Calendar.DATE );
String和Date的转换
Date to String
Date date = new Date();
SimpeDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
String dateStr = df.format( date );
String to Date
SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
Date date = df.parse( dateStr );
注意:字符串中的“HH:mm:ss”,这里是使用
HH
还是hh
决定了最后的时间是24小时制(HH)还是12小时制(hh).