您的位置:首页 > 编程语言 > Java开发

理解Calendar类和各种常用日期的获取方法

2016-10-11 09:09 197 查看
@author 丘秋球
@date 2016-10-10
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'--需要注意的是这里如果不加引号的话查出来的数据有误--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java Calendar 日期方法