Calendar的日常应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Calendar的日常应用相关的知识,希望对你有一定的参考价值。

 

日常开发中经常会需要计算出当前时间的一周之前的Date,或者当前之后的时间点,

Calendar类是Java官方推荐使用的日期计算的类,直接代码说明:

技术分享
 1 import java.util.Calendar;  
 2 import java.util.Date;  
 3 import java.util.GregorianCalendar;  
 4   
 5   
 6 public class CalendarTest {  
 7   
 8     public static void main(String[] args) {  
 9           
10         //当前时间  
11         Date now = new Date();  
12           
13         System.out.println("现在时间:"+now.toLocaleString());  
14           
15         Calendar calendar = new GregorianCalendar();  
16           
17         //将Date设置到Calendar中  
18         calendar.setTime(now);  
19           
20         /** 
21          * Calendar中有set方法和get方法 
22          * get方法将根据传入的参数值反回相应的值 
23          * Calendar.DATE反回的是天数 
24          * Calendar.MONTH返回的是月 
25          */  
26         //获得当前时间之前一周时间点  
27         calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);  
28           
29         System.out.println("一周之前时间:"+calendar.getTime().toLocaleString());  
30           
31         //1个月零一周以前的时间  
32         calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);  
33           
34         System.out.println("一个月零一周以前的时间"+calendar.getTime().toLocaleString());  
35           
36     }  
37 }  
View Code

 

二、在数据库中查询出当天的的记录。

 1     FmOperLogExample example = new FmOperLogExample();
 2         Criteria criteria = example.createCriteria();
 3         criteria.andLaunchNumEqualTo(phoneNum);
 4         
 5         Date dt = new Date();// 取时间
 6         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 7         String strDate=sdf.format(dt);
 8 
 9         Calendar calendar = Calendar.getInstance();
10         try {
11             Date bDate = sdf.parse(strDate);
12             calendar.setTime(bDate);
13 //            calendar.add(Calendar.DAY_OF_MONTH, 1);
14             calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)+1);
15             Date eDate = calendar.getTime();
16             criteria.andCrtTimeBetween(bDate, eDate);
17             
18         } catch (ParseException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         }

 

以上是关于Calendar的日常应用的主要内容,如果未能解决你的问题,请参考以下文章

日期选择器上诉破裂

VsCode 代码片段-提升研发效率

sublimetext3中保存代码片段

18个常用的JavaScript片段分享

日历返回错误的月份

gwt:没有可用于 java.util.Calendar 类型的源代码