1.Calendar具有宽松性,有两种解释日历的模式
(1)
lenient
--接收比所生成的日历值更大的值。例如将MONTH=JANUARY,DAY_OF_MONTH=32解释为 February 1
(2)
non-lenient
--与上述模式相反,需要注意的是当Calendar处于这种模式下时,如果接受的值比日历值更大会抛出异常
2.Calendar类有三种更改日历的方式
(1)
set(f,value)
--将f日历字段更改为value
(2)
add(f,delta)
--将delta添加到f字段中,调整更大的字段。例如2016-08-31添加13个月变成2017-09-30而不是2017-09-30
(3)
roll(f,delta)--将delta添加到f字段中,但不调整更大的字段
3.Calendar实例化:Calendar date = Calendar.getInstance();
4.转成date对象:date.getTime();
5.日期前后的比较方法:
(1)before(object)、after(object)
(2)compareTo(Calendar)
6.常用的日期设置:
Calendar date = Calendar.getInstance();
date.setTime(new Date());//设置日历为今天
(1)昨天的日期:date.set(Calendar.DATE, date.get(Calendar.DATE) - 1);
(2)本周第一天:date.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
(3)本月第一天:date.add(Calendar.MONTH, 0);
date.set(Calendar.DAY_OF_MONTH, 1);
(4)上个月第一天:date.add(Calendar.MONTH, -1);
date.set(Calendar.DAY_OF_MONTH, 1);
(5)本月最后一天:date.set(Calendar.DAY_OF_MONTH,date.getActualMaximum(Calendar.DAY_OF_MONTH));
-----SQL语句查询日期-----
select DATE_FORMAT(NOW(),'%Y-%m-%d')
查询大于今日:DATE_FORMAT('create_time','%Y-%m-%d')>='2016-10-10'--需要注意的是这里如果不加引号的话查出来的数据有误--