java时间处理实例

时间:2021-12-31 23:49:03

1、在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss

<span style="white-space:pre">	</span>Date d = new Date();   

        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制   

        System.out.println(ss.format(d));    

        Date date = new Date();   

        SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制   

        String LgTime = sdformat.format(date);    

        System.out.println(LgTime); 

2、时间推算

DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");   
System.out.println(df.format(new Date()));   
  
Calendar c = Calendar.getInstance();   
  
c.add(Calendar.MONTH, 1); // 目前時間加1個月   
System.out.println(df.format(c.getTime()));   
  
c.add(Calendar.HOUR, 3); // 目前時間加3小時   
System.out.println(df.format(c.getTime()));   
  
c.add(Calendar.YEAR, -2); // 目前時間減2年   
System.out.println(df.format(c.getTime()));   
  
c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天   
System.out.println(df.format(c.getTime()));   

3、取当月的第一天: 
  1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");   
  2. java.util.Date firstDay=new java.util.Date();   
  3. System.out.println("the month first day is "+formats.format(firstDay));   

4、取当月的最后一天: 
  1.    
  2. Calendar cal = Calendar.getInstance();   
  3. int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);   
  4. java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);   
  5. System.out.println(formatter3.format(cal.getTime()));   


5、求两个日期之间相隔的天数: 

  1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");   
  2. java.util.Date beginDate= format.parse("2007-12-24");   
  3. java.util.Date endDate= format.parse("2007-12-25");   
  4. long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);   
  5. System.out.println("相隔的天数="+day);   

6、一年前的日期: 
  1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");   
  2. java.util.Date todayDate=new java.util.Date();   
  3. long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;   
  4. todayDate.setTime(beforeTime*1000);   
  5. String beforeDate=formatter.format(todayDate);   
  6. System.out.println(beforeDate);   

7、一年后的日期: 
  1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");   
  2. java.util.Date todayDate=new java.util.Date();   
  3. long afterTime=(todayDate.getTime()/1000)+60*60*24*365;   
  4. todayDate.setTime(afterTime*1000);   
  5. String afterDate=formatter.format(todayDate);   
  6. System.out.println(afterDate);   

8、求10小时后的时间 
  1. java.util.Calendar Cal=java.util.Calendar.getInstance();   
  2. Cal.setTime(dateOper);   
  3. Cal.add(java.util.Calendar.HOUR_OF_DAY,10);   
  4. System.out.println("date:"+forma.format(Cal.getTime()));   

9、求10小时前的时间 
  1. java.util.Calendar Cal=java.util.Calendar.getInstance();   
  2. Cal.setTime(dateOper);   
  3. Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);   
  4. System.out.println("date:"+forma.format(Cal.getTime()));