java日期操作大全

时间:2021-01-05 11:13:57

摘自(http://www.blogjava.net/i369/articles/83483.html)

java日期操作 大全 先来一个:  
取得指定月份的第一天与取得指定月份的最后一天  
http://iamin.blogdriver.com/iamin/847990.html  
/**  
         *  取得指定月份的第一天  
         *  
         *  @param  strdate  String  
         *  @return  String  
         */  
       public  String  getMonthBegin(String  strdate)  
       {  
               java.util.Date  date  =  parseFormatDate(strdate);  
               return  formatDateByFormat(date,"yyyy-MM")  +  "-01";  
       }  
 
       /**  
         *  取得指定月份的最后一天  
         *  
         *  @param  strdate  String  
         *  @return  String  
         */  
       public  String  getMonthEnd(String  strdate)  
       {  
               java.util.Date  date  =  parseFormatDate(getMonthBegin(strdate));  
               Calendar  calendar  =  Calendar.getInstance();  
               calendar.setTime(date);  
               calendar.add(Calendar.MONTH,1);  
               calendar.add(Calendar.DAY_OF_YEAR,  -1);  
               return  formatDate(calendar.getTime());  
       }  
 
       /**  
         *  常用的格式化日期  
         *  
         *  @param  date  Date  
         *  @return  String  
         */  
       public  String  formatDate(java.util.Date  date)  
       {  
               return  formatDateByFormat(date,"yyyy-MM-dd");  
       }  
 
       /**  
         *  以指定的格式来格式化日期  
         *  
         *  @param  date  Date  
         *  @param  format  String  
         *  @return  String  
         */  
       public  String  formatDateByFormat(java.util.Date  date,String  format)  
       {  
               String  result  =  "";  
               if(date  !=  null)  
               {  
                       try  
                       {  
                               SimpleDateFormat  sdf  =  new  SimpleDateFormat(format);  
                               result  =  sdf.format(date);  
                       }  
                       catch(Exception  ex)  
                       {  
                               LOGGER.info("date:"  +  date);  
                               ex.printStackTrace();  
                       }  
               }  
               return  result;  
       }  
//---------------------------------------------------------------  
 
package  com.app.util;  
 
/**  
 *  日期操作  
 *    
 *  @author  xxx  
 *  @version  2.0  jdk1.4.0  tomcat5.1.0  *  Updated  Date:2005/03/10  
 */  
public  class  DateUtil  {  
           /**  
             *  格式化日期  
             *    
             *  @param  dateStr  
             *                        字符型日期  
             *  @param  format  
             *                        格式  
             *  @return  返回日期  
             */  
           public  static  java.util.Date  parseDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  =  null;  
                       try  {  
                                   java.text.DateFormat  df  =  new  java.text.SimpleDateFormat(format);  
                                   String  dt=Normal.parse(dateStr).replaceAll(  
                                                           "-",  "/");  
                                   if((!dt.equals(""))&&(dt.length()<format.length())){  
                                               dt+=format.substring(dt.length()).replaceAll("[YyMmDdHhSs]","0");  
                                   }  
                                   date  =  (java.util.Date)  df.parse(dt);  
                       }  catch  (Exception  e)  {  
                       }  
                       return  date;  
           }  
 
           public  static  java.util.Date  parseDate(String  dateStr)  {  
                       return  parseDate(dateStr,  "yyyy/MM/dd");  
           }  
 
           public  static  java.util.Date  parseDate(java.sql.Date  date)  {  
                       return  date;  
           }  
             
           public  static  java.sql.Date  parseSqlDate(java.util.Date  date)  {  
                       if  (date  !=  null)  
                                   return  new  java.sql.Date(date.getTime());  
                       else  
                                   return  null;  
           }  
 
           public  static  java.sql.Date  parseSqlDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  =  parseDate(dateStr,  format);  
                       return  parseSqlDate(date);  
           }  
 
           public  static  java.sql.Date  parseSqlDate(String  dateStr)  {  
                       return  parseSqlDate(dateStr,  "yyyy/MM/dd");  
           }  
 
             
           public  static  java.sql.Timestamp  parseTimestamp(String  dateStr,  
                                   String  format)  {  
                       java.util.Date  date  =  parseDate(dateStr,  format);  
                       if  (date  !=  null)  {  
                                   long  t  =  date.getTime();  
                                   return  new  java.sql.Timestamp(t);  
                       }  else  
                                   return  null;  
           }  
 
           public  static  java.sql.Timestamp  parseTimestamp(String  dateStr)  {  
                       return  parseTimestamp(dateStr,  "yyyy/MM/dd  HH:mm:ss");  
           }  
 
           /**  
             *  格式化输出日期  
             *    
             *  @param  date  
             *                        日期  
             *  @param  format  
             *                        格式  
             *  @return  返回字符型日期  
             */  
           public  static  String  format(java.util.Date  date,  String  format)  {  
                       String  result  =  "";  
                       try  {  
                                   if  (date  !=  null)  {  
                                               java.text.DateFormat  df  =  new  java.text.SimpleDateFormat(format);  
                                               result  =  df.format(date);  
                                   }  
                       }  catch  (Exception  e)  {  
                       }  
                       return  result;  
           }  
 
           public  static  String  format(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd");  
           }  
 
           /**  
             *  返回年份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回年份  
             */  
           public  static  int  getYear(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.YEAR);  
           }  
 
           /**  
             *  返回月份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回月份  
             */  
           public  static  int  getMonth(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.MONTH)  +  1;  
           }  
 
           /**  
             *  返回日份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回日份  
             */  
           public  static  int  getDay(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.DAY_OF_MONTH);  
           }  
 
           /**  
             *  返回小时  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回小时  
             */  
           public  static  int  getHour(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.HOUR_OF_DAY);  
           }  
 
           /**  
             *  返回分钟  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回分钟  
             */  
           public  static  int  getMinute(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.MINUTE);  
           }  
 
           /**  
             *  返回秒钟  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回秒钟  
             */  
           public  static  int  getSecond(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.SECOND);  
           }  
 
           /**  
             *  返回毫秒  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回毫秒  
             */  
           public  static  long  getMillis(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.getTimeInMillis();  
           }  
 
           /**  
             *  返回字符型日期  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型日期  
             */  
           public  static  String  getDate(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd");  
           }  
 
           /**  
             *  返回字符型时间  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型时间  
             */  
           public  static  String  getTime(java.util.Date  date)  {  
                       return  format(date,  "HH:mm:ss");  
           }  
 
           /**  
             *  返回字符型日期时间  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型日期时间  
             */  
           public  static  String  getDateTime(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd  HH:mm:ss");  
           }  
 
           /**  
             *  日期相加  
             *    
             *  @param  date  
             *                        日期  
             *  @param  day  
             *                        天数  
             *  @return  返回相加后的日期  
             */  
           public  static  java.util.Date  addDate(java.util.Date  date,  int  day)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTimeInMillis(getMillis(date)  +  ((long)  day)  *  24  *  3600  *  1000);  
                       return  c.getTime();  
           }  
 
           /**  
             *  日期相减  
             *    
             *  @param  date  
             *                        日期  
             *  @param  date1  
             *                        日期  
             *  @return  返回相减后的日期  
             */  
           public  static  int  diffDate(java.util.Date  date,  java.util.Date  date1)  {  
                       return  (int)  ((getMillis(date)  -  getMillis(date1))  /  (24  *  3600  *  1000));  
           }              
}  
我来个简单点的,也许有点用  
Calendar  now  =  Calendar.getInstance();  
int  year  =  now.get(Calendar.YEAR);  
int  date  =  now.get(Calendar.DAY_OF_MONTH);  
int  month  =  now.get(Calendar.MONTH)  +  1;  
int  hour  =  now.get(Calendar.HOUR);  
int  min  =  now.get(Calendar.MINUTE);  
int  sec  =  now.get(Calendar.SECOND);  

在最近的一个OA中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。  
 
在完成以上任务时,我发现Calendar  的确是一个功能强大的class。

 

java日期操作大全package com.elink.util;
java日期操作大全
java日期操作大全/*
java日期操作大全 * <p>Company: 凌科软件 www.elinksoft.com </p>
java日期操作大全 * @author liubaojun
java日期操作大全 * @version 1.0
java日期操作大全 * Created on 2004-11-29
java日期操作大全 * 来源于 elinkBSP (业务架构平台) 部分源代码
java日期操作大全 */
java日期操作大全
java日期操作大全import java.text.*;
java日期操作大全import java.util.*;
java日期操作大全
java日期操作大全public class DateUtil
java日期操作大全{
java日期操作大全 private static final int[] dayArray = new int[]
java日期操作大全  { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
java日期操作大全 private static SimpleDateFormat sdf = new SimpleDateFormat();
java日期操作大全
java日期操作大全 public static synchronized Calendar getCalendar()
java日期操作大全 {
java日期操作大全  return GregorianCalendar.getInstance();
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMilliFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateMilliFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMilliFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMilliFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarMilliFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateMilliFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateSecondFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateSecondFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateSecondFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateSecondFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarSecondFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateSecondFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMinuteFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateMinuteFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMinuteFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateMinuteFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarMinuteFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateMinuteFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateDayFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateDayFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateDayFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateDayFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarDayFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateDayFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFileFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateFileFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFileFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd_HH-mm-ss";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFileFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd_HH-mm-ss";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarFileFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd_HH-mm-ss";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateFileFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd_HH-mm-ss";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateW3CFormat()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  return getDateW3CFormat( cal );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateW3CFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateW3CFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarW3CFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateW3CFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFormat( java.util.Calendar cal )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( cal, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFormat( java.util.Date date )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return getDateFormat( date, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseCalendarFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateFormat( String strDate )
java日期操作大全 {
java日期操作大全  String pattern = "yyyy-MM-dd HH:mm:ss";
java日期操作大全  return parseDateFormat( strDate, pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param cal
java日期操作大全  @param pattern
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFormat( java.util.Calendar cal, String pattern )
java日期操作大全 {
java日期操作大全  return getDateFormat( cal.getTime(), pattern );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param date
java日期操作大全  @param pattern
java日期操作大全  @return String
java日期操作大全  */
java日期操作大全 public static synchronized String getDateFormat( java.util.Date date, String pattern )
java日期操作大全 {
java日期操作大全  synchronized ( sdf )
java日期操作大全  {
java日期操作大全   String str = null;
java日期操作大全   sdf.applyPattern( pattern );
java日期操作大全   str = sdf.format( date );
java日期操作大全   return str;
java日期操作大全  }
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @param pattern
java日期操作大全  @return java.util.Calendar
java日期操作大全  */
java日期操作大全 public static synchronized Calendar parseCalendarFormat( String strDate, String pattern )
java日期操作大全 {
java日期操作大全  synchronized ( sdf )
java日期操作大全  {
java日期操作大全   Calendar cal = null;
java日期操作大全   sdf.applyPattern( pattern );
java日期操作大全   try
java日期操作大全   {
java日期操作大全    sdf.parse( strDate );
java日期操作大全    cal = sdf.getCalendar();
java日期操作大全   }
java日期操作大全   catch ( Exception e )
java日期操作大全   {
java日期操作大全   }
java日期操作大全   return cal;
java日期操作大全  }
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  @param strDate
java日期操作大全  @param pattern
java日期操作大全  @return java.util.Date
java日期操作大全  */
java日期操作大全 public static synchronized Date parseDateFormat( String strDate, String pattern )
java日期操作大全 {
java日期操作大全  synchronized ( sdf )
java日期操作大全  {
java日期操作大全   Date date = null;
java日期操作大全   sdf.applyPattern( pattern );
java日期操作大全   try
java日期操作大全   {
java日期操作大全    date = sdf.parse( strDate );
java日期操作大全   }
java日期操作大全   catch ( Exception e )
java日期操作大全   {
java日期操作大全   }
java日期操作大全   return date;
java日期操作大全  }
java日期操作大全 }
java日期操作大全
java日期操作大全 public static synchronized int getLastDayOfMonth( int month )
java日期操作大全 {
java日期操作大全  if ( month < 1 || month > 12 )
java日期操作大全  {
java日期操作大全   return -1;
java日期操作大全  }
java日期操作大全  int retn = 0;
java日期操作大全  if ( month == 2 )
java日期操作大全  {
java日期操作大全   if ( isLeapYear() )
java日期操作大全   {
java日期操作大全    retn = 29;
java日期操作大全   }
java日期操作大全   else
java日期操作大全   {
java日期操作大全    retn = dayArray[month - 1];
java日期操作大全   }
java日期操作大全  }
java日期操作大全  else
java日期操作大全  {
java日期操作大全   retn = dayArray[month - 1];
java日期操作大全  }
java日期操作大全  return retn;
java日期操作大全 }
java日期操作大全
java日期操作大全 public static synchronized int getLastDayOfMonth( int year, int month )
java日期操作大全 {
java日期操作大全  if ( month < 1 || month > 12 )
java日期操作大全  {
java日期操作大全   return -1;
java日期操作大全  }
java日期操作大全  int retn = 0;
java日期操作大全  if ( month == 2 )
java日期操作大全  {
java日期操作大全   if ( isLeapYear( year ) )
java日期操作大全   {
java日期操作大全    retn = 29;
java日期操作大全   }
java日期操作大全   else
java日期操作大全   {
java日期操作大全    retn = dayArray[month - 1];
java日期操作大全   }
java日期操作大全  }
java日期操作大全  else
java日期操作大全  {
java日期操作大全   retn = dayArray[month - 1];
java日期操作大全  }
java日期操作大全  return retn;
java日期操作大全 }
java日期操作大全
java日期操作大全 public static synchronized boolean isLeapYear()
java日期操作大全 {
java日期操作大全  Calendar cal = Calendar.getInstance();
java日期操作大全  int year = cal.get( Calendar.YEAR );
java日期操作大全  return isLeapYear( year );
java日期操作大全 }
java日期操作大全
java日期操作大全 public static synchronized boolean isLeapYear( int year )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
java日期操作大全   * 3.能被4整除同时能被100整除则不是闰年
java日期操作大全   */
java日期操作大全  if ( ( year % 400 ) == 0 )
java日期操作大全   return true;
java日期操作大全  else if ( ( year % 4 ) == 0 )
java日期操作大全  {
java日期操作大全   if ( ( year % 100 ) == 0 )
java日期操作大全    return false;
java日期操作大全   else return true;
java日期操作大全  }
java日期操作大全  else return false;
java日期操作大全 }
java日期操作大全 
java日期操作大全 /**
java日期操作大全  * 判断指定日期的年份是否是闰年
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 是否闰年
java日期操作大全  */
java日期操作大全 public static synchronized boolean isLeapYear( java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
java日期操作大全   * 3.能被4整除同时能被100整除则不是闰年
java日期操作大全   */
java日期操作大全//  int year = date.getYear();
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  int year = gc.get( Calendar.YEAR );
java日期操作大全  return isLeapYear( year );
java日期操作大全 } 
java日期操作大全 
java日期操作大全 public static synchronized boolean isLeapYear( java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
java日期操作大全   * 3.能被4整除同时能被100整除则不是闰年
java日期操作大全   */
java日期操作大全  int year = gc.get( Calendar.YEAR );
java日期操作大全  return isLeapYear( year );
java日期操作大全 } 
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 得到指定日期的前一个工作日
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的前一个工作日
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getPreviousWeekDay(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  {
java日期操作大全   /**
java日期操作大全    * 详细设计: 
java日期操作大全    * 1.如果date是星期日,则减3天 
java日期操作大全    * 2.如果date是星期六,则减2天 
java日期操作大全    * 3.否则减1天
java日期操作大全    */
java日期操作大全   GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全   gc.setTime( date );
java日期操作大全   return getPreviousWeekDay( gc );
java日期操作大全//   switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全//   {
java日期操作大全//    case ( Calendar.MONDAY    ):
java日期操作大全//     gc.add( Calendar.DATE, -3 );
java日期操作大全//     break;
java日期操作大全//    case ( Calendar.SUNDAY    ):
java日期操作大全//     gc.add( Calendar.DATE, -2 );
java日期操作大全//     break;
java日期操作大全//    default:
java日期操作大全//     gc.add( Calendar.DATE, -1 );
java日期操作大全//     break;
java日期操作大全//   }
java日期操作大全//   return gc.getTime();
java日期操作大全  }
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Date getPreviousWeekDay(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  {
java日期操作大全   /**
java日期操作大全    * 详细设计: 
java日期操作大全    * 1.如果date是星期日,则减3天 
java日期操作大全    * 2.如果date是星期六,则减2天 
java日期操作大全    * 3.否则减1天
java日期操作大全    */
java日期操作大全   switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全   {
java日期操作大全    case ( Calendar.MONDAY    ):
java日期操作大全     gc.add( Calendar.DATE, -3 );
java日期操作大全     break;
java日期操作大全    case ( Calendar.SUNDAY    ):
java日期操作大全     gc.add( Calendar.DATE, -2 );
java日期操作大全     break;
java日期操作大全    default:
java日期操作大全     gc.add( Calendar.DATE, -1 );
java日期操作大全     break;
java日期操作大全   }
java日期操作大全   return gc.getTime();
java日期操作大全  }
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 得到指定日期的后一个工作日
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的后一个工作日
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getNextWeekDay(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date是星期五,则加3天 
java日期操作大全   * 2.如果date是星期六,则加2天
java日期操作大全   * 3.否则加1天
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全  {
java日期操作大全   case ( Calendar.FRIDAY    ):
java日期操作大全    gc.add( Calendar.DATE, 3 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.SATURDAY    ):
java日期操作大全    gc.add( Calendar.DATE, 2 );
java日期操作大全    break;
java日期操作大全   default:
java日期操作大全    gc.add( Calendar.DATE, 1 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getNextWeekDay(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date是星期五,则加3天 
java日期操作大全   * 2.如果date是星期六,则加2天
java日期操作大全   * 3.否则加1天
java日期操作大全   */
java日期操作大全  switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全  {
java日期操作大全   case ( Calendar.FRIDAY    ):
java日期操作大全    gc.add( Calendar.DATE, 3 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.SATURDAY    ):
java日期操作大全    gc.add( Calendar.DATE, 2 );
java日期操作大全    break;
java日期操作大全   default:
java日期操作大全    gc.add( Calendar.DATE, 1 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个月的最后一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个月的最后一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getLastDayOfNextMonth(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextMonth设置当前时间 
java日期操作大全   * 2.以1为基础,调用getLastDayOfMonth
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getLastDayOfMonth( gc.getTime() ) );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个星期的最后一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个星期的最后一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getLastDayOfNextWeek(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextWeek设置当前时间 
java日期操作大全   * 2.以1为基础,调用getLastDayOfWeek
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getLastDayOfWeek( gc.getTime() ) );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个月的第一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个月的第一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getFirstDayOfNextMonth(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextMonth设置当前时间 
java日期操作大全   * 2.以1为基础,调用getFirstDayOfMonth
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getFirstDayOfNextMonth(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextMonth设置当前时间 
java日期操作大全   * 2.以1为基础,调用getFirstDayOfMonth
java日期操作大全   */
java日期操作大全  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个星期的第一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个星期的第一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getFirstDayOfNextWeek(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextWeek设置当前时间 
java日期操作大全   * 2.以1为基础,调用getFirstDayOfWeek
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getFirstDayOfNextWeek(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.调用getNextWeek设置当前时间 
java日期操作大全   * 2.以1为基础,调用getFirstDayOfWeek
java日期操作大全   */
java日期操作大全  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
java日期操作大全  gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个月
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个月
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getNextMonth( java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.指定日期的月份加1
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.add( Calendar.MONTH, 1 );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getNextMonth( java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.指定日期的月份加1
java日期操作大全   */
java日期操作大全  gc.add( Calendar.MONTH, 1 );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getNextDay( java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.指定日期加1天
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.add( Calendar.DATE, 1 );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getNextDay( java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.指定日期加1天
java日期操作大全   */
java日期操作大全  gc.add( Calendar.DATE, 1 );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的下一个星期
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的下一个星期
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getNextWeek( java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.指定日期加7天
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.add( Calendar.DATE, 7 );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getNextWeek( java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.指定日期加7天
java日期操作大全   */
java日期操作大全  gc.add( Calendar.DATE, 7 );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的所处星期的最后一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的所处星期的最后一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getLastDayOfWeek(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date是星期日,则加6天 
java日期操作大全   * 2.如果date是星期一,则加5天 
java日期操作大全   * 3.如果date是星期二,则加4天
java日期操作大全   * 4.如果date是星期三,则加3天 
java日期操作大全   * 5.如果date是星期四,则加2天 
java日期操作大全   * 6.如果date是星期五,则加1天
java日期操作大全   * 7.如果date是星期六,则加0天
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全  {
java日期操作大全   case ( Calendar.SUNDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 6 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.MONDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 5 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.TUESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 4 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.WEDNESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 3 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.THURSDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 2 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.FRIDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 1 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.SATURDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 0 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的所处星期的第一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的所处星期的第一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getFirstDayOfWeek(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date是星期日,则减0天 
java日期操作大全   * 2.如果date是星期一,则减1天 
java日期操作大全   * 3.如果date是星期二,则减2天
java日期操作大全   * 4.如果date是星期三,则减3天 
java日期操作大全   * 5.如果date是星期四,则减4天 
java日期操作大全   * 6.如果date是星期五,则减5天
java日期操作大全   * 7.如果date是星期六,则减6天
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全  {
java日期操作大全   case ( Calendar.SUNDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 0 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.MONDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -1 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.TUESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -2 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.WEDNESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -3 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.THURSDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -4 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.FRIDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -5 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.SATURDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -6 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getFirstDayOfWeek(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date是星期日,则减0天 
java日期操作大全   * 2.如果date是星期一,则减1天 
java日期操作大全   * 3.如果date是星期二,则减2天
java日期操作大全   * 4.如果date是星期三,则减3天 
java日期操作大全   * 5.如果date是星期四,则减4天 
java日期操作大全   * 6.如果date是星期五,则减5天
java日期操作大全   * 7.如果date是星期六,则减6天
java日期操作大全   */
java日期操作大全  switch ( gc.get( Calendar.DAY_OF_WEEK ) )
java日期操作大全  {
java日期操作大全   case ( Calendar.SUNDAY  ):
java日期操作大全    gc.add( Calendar.DATE, 0 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.MONDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -1 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.TUESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -2 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.WEDNESDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -3 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.THURSDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -4 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.FRIDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -5 );
java日期操作大全    break;
java日期操作大全   case ( Calendar.SATURDAY  ):
java日期操作大全    gc.add( Calendar.DATE, -6 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的所处月份的最后一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的所处月份的最后一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getLastDayOfMonth(
java日期操作大全  java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date在1月,则为31日 
java日期操作大全   * 2.如果date在2月,则为28日 
java日期操作大全   * 3.如果date在3月,则为31日
java日期操作大全   * 4.如果date在4月,则为30日 
java日期操作大全   * 5.如果date在5月,则为31日 
java日期操作大全   * 6.如果date在6月,则为30日
java日期操作大全   * 7.如果date在7月,则为31日 
java日期操作大全   * 8.如果date在8月,则为31日 
java日期操作大全   * 9.如果date在9月,则为30日
java日期操作大全   * 10.如果date在10月,则为31日 
java日期操作大全   * 11.如果date在11月,则为30日 
java日期操作大全   * 12.如果date在12月,则为31日
java日期操作大全   * 1.如果date在闰年的2月,则为29日
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  switch ( gc.get( Calendar.MONTH ) )
java日期操作大全  {
java日期操作大全   case 0:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 1:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 28 );
java日期操作大全    break;
java日期操作大全   case 2:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 3:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 4:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 5:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 6:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 7:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 8:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 9:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 10:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 11:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  //检查闰年
java日期操作大全  if ( ( gc.get( Calendar.MONTH ) == Calendar.FEBRUARY )
java日期操作大全   && ( isLeapYear( gc.get( Calendar.YEAR ) ) ) )
java日期操作大全  {
java日期操作大全   gc.set( Calendar.DAY_OF_MONTH, 29 );
java日期操作大全  }
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getLastDayOfMonth(
java日期操作大全  java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果date在1月,则为31日 
java日期操作大全   * 2.如果date在2月,则为28日 
java日期操作大全   * 3.如果date在3月,则为31日
java日期操作大全   * 4.如果date在4月,则为30日 
java日期操作大全   * 5.如果date在5月,则为31日 
java日期操作大全   * 6.如果date在6月,则为30日
java日期操作大全   * 7.如果date在7月,则为31日 
java日期操作大全   * 8.如果date在8月,则为31日 
java日期操作大全   * 9.如果date在9月,则为30日
java日期操作大全   * 10.如果date在10月,则为31日 
java日期操作大全   * 11.如果date在11月,则为30日 
java日期操作大全   * 12.如果date在12月,则为31日
java日期操作大全   * 1.如果date在闰年的2月,则为29日
java日期操作大全   */
java日期操作大全  switch ( gc.get( Calendar.MONTH ) )
java日期操作大全  {
java日期操作大全   case 0:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 1:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 28 );
java日期操作大全    break;
java日期操作大全   case 2:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 3:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 4:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 5:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 6:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 7:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 8:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 9:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全   case 10:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 30 );
java日期操作大全    break;
java日期操作大全   case 11:
java日期操作大全    gc.set( Calendar.DAY_OF_MONTH, 31 );
java日期操作大全    break;
java日期操作大全  }
java日期操作大全  //检查闰年
java日期操作大全  if ( ( gc.get( Calendar.MONTH ) == Calendar.FEBRUARY )
java日期操作大全   && ( isLeapYear( gc.get( Calendar.YEAR ) ) ) )
java日期操作大全  {
java日期操作大全   gc.set( Calendar.DAY_OF_MONTH, 29 );
java日期操作大全  }
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 取得指定日期的所处月份的第一天
java日期操作大全  * 
java日期操作大全  * @param date
java日期操作大全  *            指定日期。
java日期操作大全  * @return 指定日期的所处月份的第一天
java日期操作大全  */
java日期操作大全 public static synchronized java.util.Date getFirstDayOfMonth( java.util.Date date )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.设置为1号
java日期操作大全   */
java日期操作大全  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
java日期操作大全  gc.setTime( date );
java日期操作大全  gc.set( Calendar.DAY_OF_MONTH, 1 );
java日期操作大全  return gc.getTime();
java日期操作大全 }
java日期操作大全 
java日期操作大全 public static synchronized java.util.Calendar getFirstDayOfMonth( java.util.Calendar gc )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.设置为1号
java日期操作大全   */
java日期操作大全  gc.set( Calendar.DAY_OF_MONTH, 1 );
java日期操作大全  return gc;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 将日期对象转换成为指定ORA日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
java日期操作大全  * 
java日期操作大全  * @param theDate
java日期操作大全  *            将要转换为字符串的日期对象。
java日期操作大全  * @param hasTime
java日期操作大全  *            如果返回的字符串带时间则为true
java日期操作大全  * @return 转换的结果
java日期操作大全  */
java日期操作大全 public static synchronized String toOraString( Date theDate, boolean hasTime )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果有时间,则设置格式为getOraDateTimeFormat()的返回值
java日期操作大全   * 2.否则设置格式为getOraDateFormat()的返回值 
java日期操作大全   * 3.调用toString(Date theDate, DateFormat
java日期操作大全   * theDateFormat)
java日期操作大全   */
java日期操作大全  DateFormat theFormat;
java日期操作大全  if ( hasTime )
java日期操作大全  {
java日期操作大全   theFormat = getOraDateTimeFormat();
java日期操作大全  }
java日期操作大全  else
java日期操作大全  {
java日期操作大全   theFormat = getOraDateFormat();
java日期操作大全  }
java日期操作大全  return toString( theDate, theFormat );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 将日期对象转换成为指定日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
java日期操作大全  * 
java日期操作大全  * @param theDate
java日期操作大全  *            将要转换为字符串的日期对象。
java日期操作大全  * @param hasTime
java日期操作大全  *            如果返回的字符串带时间则为true
java日期操作大全  * @return 转换的结果
java日期操作大全  */
java日期操作大全 public static synchronized String toString( Date theDate, boolean hasTime )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.如果有时间,则设置格式为getDateTimeFormat的返回值 
java日期操作大全   * 2.否则设置格式为getDateFormat的返回值
java日期操作大全   * 3.调用toString(Date theDate, DateFormat theDateFormat)
java日期操作大全   */
java日期操作大全  DateFormat theFormat;
java日期操作大全  if ( hasTime )
java日期操作大全  {
java日期操作大全   theFormat = getDateTimeFormat();
java日期操作大全  }
java日期操作大全  else
java日期操作大全  {
java日期操作大全   theFormat = getDateFormat();
java日期操作大全  }
java日期操作大全  return toString( theDate, theFormat );
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 标准日期格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat(
java日期操作大全  "MM/dd/yyyy" );
java日期操作大全 /**
java日期操作大全  * 标准时间格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat(
java日期操作大全  "MM/dd/yyyy HH:mm" );
java日期操作大全 /**
java日期操作大全  * 带时分秒的标准时间格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
java日期操作大全  "MM/dd/yyyy HH:mm:ss" );
java日期操作大全 /**
java日期操作大全  * ORA标准日期格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat ORA_DATE_FORMAT = new SimpleDateFormat(
java日期操作大全  "yyyyMMdd" );
java日期操作大全 /**
java日期操作大全  * ORA标准时间格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat ORA_DATE_TIME_FORMAT = new SimpleDateFormat(
java日期操作大全  "yyyyMMddHHmm" );
java日期操作大全 /**
java日期操作大全  * 带时分秒的ORA标准时间格式
java日期操作大全  */
java日期操作大全 private static final SimpleDateFormat ORA_DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
java日期操作大全  "yyyyMMddHHmmss" );
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 创建一个标准日期格式的克隆
java日期操作大全  * 
java日期操作大全  * @return 标准日期格式的克隆
java日期操作大全  */
java日期操作大全 public static synchronized DateFormat getDateFormat()
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.返回DATE_FORMAT
java日期操作大全   */
java日期操作大全  SimpleDateFormat theDateFormat = ( SimpleDateFormat ) 
java日期操作大全   DATE_FORMAT.clone();
java日期操作大全  theDateFormat.setLenient( false );
java日期操作大全  return theDateFormat;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 创建一个标准时间格式的克隆
java日期操作大全  * 
java日期操作大全  * @return 标准时间格式的克隆
java日期操作大全  */
java日期操作大全 public static synchronized DateFormat getDateTimeFormat()
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.返回DATE_TIME_FORMAT
java日期操作大全   */
java日期操作大全  SimpleDateFormat theDateTimeFormat = ( SimpleDateFormat ) DATE_TIME_FORMAT
java日期操作大全   .clone();
java日期操作大全  theDateTimeFormat.setLenient( false );
java日期操作大全  return theDateTimeFormat;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 创建一个标准ORA日期格式的克隆
java日期操作大全  * 
java日期操作大全  * @return 标准ORA日期格式的克隆
java日期操作大全  */
java日期操作大全 public static synchronized DateFormat getOraDateFormat()
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.返回ORA_DATE_FORMAT
java日期操作大全   */
java日期操作大全  SimpleDateFormat theDateFormat = ( SimpleDateFormat ) ORA_DATE_FORMAT
java日期操作大全   .clone();
java日期操作大全  theDateFormat.setLenient( false );
java日期操作大全  return theDateFormat;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 创建一个标准ORA时间格式的克隆
java日期操作大全  * 
java日期操作大全  * @return 标准ORA时间格式的克隆
java日期操作大全  */
java日期操作大全 public static synchronized DateFormat getOraDateTimeFormat()
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 1.返回ORA_DATE_TIME_FORMAT
java日期操作大全   */
java日期操作大全  SimpleDateFormat theDateTimeFormat = ( SimpleDateFormat ) 
java日期操作大全   ORA_DATE_TIME_FORMAT.clone();
java日期操作大全  theDateTimeFormat.setLenient( false );
java日期操作大全  return theDateTimeFormat;
java日期操作大全 }
java日期操作大全
java日期操作大全 /**
java日期操作大全  * 将一个日期对象转换成为指定日期、时间格式的字符串。 如果日期对象为空,返回一个空字符串,而不是一个空对象。
java日期操作大全  * 
java日期操作大全  * @param theDate
java日期操作大全  *            要转换的日期对象
java日期操作大全  * @param theDateFormat
java日期操作大全  *            返回的日期字符串的格式
java日期操作大全  * @return 转换结果
java日期操作大全  */
java日期操作大全 public static synchronized String toString( Date theDate,
java日期操作大全  DateFormat theDateFormat )
java日期操作大全 {
java日期操作大全  /**
java日期操作大全   * 详细设计: 
java日期操作大全   * 1.theDate为空,则返回"" 
java日期操作大全   * 2.否则使用theDateFormat格式化
java日期操作大全   */
java日期操作大全  if ( theDate == null ) 
java日期操作大全   return "";
java日期操作大全  return theDateFormat.format( theDate );
java日期操作大全 }
java日期操作大全}
java日期操作大全
java日期操作大全

 

java日期操作 及 Timer定时器2006-11-15 17:17

 

作者:罗代均,ldj_work#126.com ,转载请保持完整性.

转自:http://hi.baidu.com/luodaijun/blog/item/304d19174ecefb014a90a79b.html

1.基础

    Date,这个大家都认识了,用于保存日期信息,但不推荐进行日期操作及初始化特定日期

     Calendar及其子类GregorianCalendar:日历类,日期操作,初始化特定日期。

    DateFormat及其子类SimpleDateformat: 日期格式化,日期的默认显示方式不适合中国人,所以需要格式化为中国人常用的格式来显示。

    取得当期日期,  Date date=new Date();

    初始化特定日期:假设我们要得到日期为2006-10-27日的对象,需要按如下方式获得。

         Calendar cal = new  GregorianCalendar(2006, 9, 27,0,0,0);
         Date date = cal.getTime();

     注意:date,getTime()取得的是当期时间的毫秒数,月份比实际的减1

      GregorianCalendar构造方法参数依次为:年,月-1,日,小时,分,秒     

    格式化为我们熟悉的方式显示:

          DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH;mm:ss");
          String chinesedate = format.format(date);

   日期 年,月,日,分,秒的取得

          Calendar cal = Calendar.getInstance();

          int year = cal.get(Calendar.YEAR);

          int month=cal.get(Calendar.MONTH)+1;

          int day = cal.get(Calendar.DAY_OF_MONTH);

           int hour = cal.get(Calendar.HOUR_OF_DAY);

          int  minute = cal.get(Calendar.MINUTE);

           int second = cal.get(Calendar.SECOND);

           注意:月份,实际的月份要比Clendar得到的加1,因为java月份是从0~11 

2.日期基本操作

   得到两个日期相差的天数

    Date endDate=..

    Date startDate = ...

   相差天数 int days=(int) ((endDate.getTime()-startDate.getTime())/(1000*24*60*60)+0.5);

   得到某个月的天数

    Calendar cal = Calendar.getInstance();

   int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

   日期加1天

    cal.add(Calendar.DATE, 1);//日期加1天

    Calendar.YEAR,Calendar.MONTH,Calendar.WEEK_OF_YEAR),分别是年,月,周

3,java.sql,Date()和java.util.Date();

    前面我们说的都是java.util.Date类,java.sql.Date类是操作数据库用的日期类型

   java.util.Date date=....

    java.sql.Date sqldate=new java.sql.Date(date.getTime());

   也可以这样:String date="2005-11-10";

    java.sql.Date sqlDate=java.sql.Date.valueOf(date);

4,定时器

   a,编写类,实现TimeTask接口,定时执行的代码写入run()方法中

   b.  timer.schedule(TimeTask子类对象, 开始执行的日期, 周期);

   周期为毫秒数

  例子:

  类MyTask:

import java.util.*;

public class MyTask extends TimerTask {
    public void run() {
        System.out.println("MyTask 正在执行...");
    }
}

  类TimerDemo:

import java.util.Timer;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Date;

public class TimerDemo {
    public static void main(String[] args) {
        Timer timer = new Timer();
        MyTask task = new MyTask();
        Calendar cal = new GregorianCalendar(2006, 9, 28, 12, 49, 0);
        Date date = cal.getTime();
        System.out.println("date :" + date.toLocaleString());
        timer.schedule(task, date, 1000);
    }
}

===================================

将Date类型写入数据库的两种方法
先了解几个类: 
1、具体类(和抽象类相对)java.util.Date  
2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat  
3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar  
具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类. 

************************************
一种将java的日期类型直接转换为SQL的日期类型的方法,比较简单但适用性狭窄,
注意一下例子在jdk下编译没有时间,但在jb和Eclipse下就有时间,不知怎么回事

——————————————
public class a {

public static void main(String[] args) {
  
  java.util.Date now = new Date();
  //PreparedStatement类型的setDate方法只接受sql.date类型,所有必须先转换
  java.sql.Date sqlnow = new java.sql.Date(now.getTime());
   try {
    //froName必须放在try中,否则编译不通过,可能froName方法抛出编译时异常了
    //经查阅 public static Class forName(String className) throws     ClassNotFoundException {...}
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.2:1433;DatabaseName=pubs","sa","");
    PreparedStatement ps=connection.prepareStatement("update test set f1=?");
    ps.setDate(1,sqlnow);
    int i = ps.executeUpdate();
   }
    catch (Exception ex) {}

 }
}
**********************************************************
另一种是将java的date类型通过SimpleDateFormat转换为字符串,再写到sql语句中
-----------------------------------------------------------
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class a{
  public static void main(String[] args) {
  //之所以用kk而不用hh是因为kk是24进制的而不虽操作系统设置变动
  SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
  Date now = new Date();
  //format()方法的返回值是String型
  System.out.println(sdf.format(date));
 }}

-----------------------------------------------------
一下是逆操作,将String转换为Date,parse()方法能抛出ParseException异常,所以你必须使用适当的异常处理技术
try{
    SimpleDateFormat sbf =new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");
    String sdate="2004-05-14 21:29:51";
    Date ddate = sbf.parse(sdate);
    System.out.println(ddate);
    }
catch (Exception ex) { }
**************************************************************
以下是副产品,我们用到的情况比较少
util.date类型
----------------------------------------------
   //1年前日期
   java.util.Date myDate=new java.util.Date();  
   long myTime=(myDate.getTime()/1000)-60*60*24*365;
   myDate.setTime(myTime*1000);
   //明天日期
   myDate=new java.util.Date(); 
   myTime=(myDate.getTime()/1000)+60*60*24;
   myDate.setTime(myTime*1000);
  //两个时间之间的天数
   SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
   java.util.Date date= myFormatter.parse("2003-05-1"); 
   java.util.Date mydate= myFormatter.parse("1899-12-30");
   long  day=(date.getTime()-mydate.getTime())/(24*60*60*1000);
   //加半小时
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
   java.util.Date date1 = format.parse("2002-02-28 23:16:00");
   long Time=(date1.getTime()/1000)+60*30;
   date1.setTime(Time*1000);
   String mydate1=formatter.format(date1);
   //年月周求日期
   SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E");
   java.util.Date date2= formatter2.parse("2003-05 5 星期五"); 
   SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd");
   String mydate2=formatter3.format(date2);
   //求是星期几
   mydate= myFormatter.parse("2001-1-1");
   SimpleDateFormat formatter4 = new SimpleDateFormat("E");
   String mydate3=formatter4.format(mydate);
-----------------------------------------------
 now.getYear();//实际年份减去1900,如果构造函数为Date(2008,2,25)则不减1900,如果构造函数为Date(17009456745)或者setTime(17009456745)还减1900
 now.getMonth();//实际月份减去1,如果构造函数为Date(2008,2,25)则不减1,如果构造函数为Date(17009456745)或者setTime(17009456745)还减1900
 now.getDay();//*,原来是取星期,不知sun公司是咋想的,脑袋进水了。
 now.getDate();//这才是取1~31之间的日
 now.getHours();//24进制的小时
 now.getMinutes();//分
 now.getSeconds();//秒
 now.getTime();//返回1970年1月1日00:00:00起至今的毫秒数
 now.setTime(long time);//真实日期为1970年1月1日午夜+time毫秒

*************************************
日历类型的子类GregorianCalendar类型
构造函数GregorianCalendar(int year, int month, int date) ,无参数为但前时间
注意月份的表示,一月是0,二月是1,以此类推。因此最好使用单词而不是使用数字来表示月份。父类Calendar使用常量来表示月份:JANUARY, FEBRUARY...
所以1903年12月17日可以写为
GregorianCalendar aaa = new GregorianCalendar(1903, Calendar.DECEMBER, 17)
GregorianCalendar aaa = new GregorianCalendar(1903, 11, 17); 
---------------------------------------
import java.util.Date;
import java.text.DateFormat;
import java.util.GregorianCalendar;
public class a {
public static void main(String[] args) {
  DateFormat df =  DateFormat.getDateInstance(DateFormat.FULL);
  GregorianCalendar gca = new GregorianCalendar();
  //getTime()方法是将GregorianCalendar对象转换为Date对象
  gca.setTime(new Date());
  System.out.println("系统时间: " +df.format(gca.getTime()));
  //set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五.注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性.
  //如果当前为星期五时间不变
  gca.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY);
  System.out.println("下一个星期五: " +  df.format(gca.getTime()));
  //add 方法让我们能够在日期上加上数值. 
  gca.add(GregorianCalendar.DAY_OF_MONTH, 8);
  System.out.println("再加8天: " +  df.format(gca.getTime()));
  //get方法取对象中的一部分
  int i =  gca.get(GregorianCalendar.DAY_OF_MONTH);
  System.out.println(i);
}}



***************************************
Locale类:(java.util.Locale)
-----------------------------------
import java.util.Locale;
public class a {
 public static void main(String[] args) {
  Locale localeEN = new Locale("en", "US");
  //另一实例化方法=locale.ENGLISH;
  System.out.println("Display Name: " +localeEN.getDisplayName());
  System.out.println("Country: " + localeEN.getCountry());
  System.out.println("Language: " + localeEN.getLanguage());

  Locale localeFR = new Locale("fr", "FR");
  System.out.println("\nDisplay Name: " +localeFR.getDisplayName());
  System.out.println("Country: " + localeFR.getCountry());
  System.out.println("Language: " + localeFR.getLanguage());

  // 用三种语言显示本机语言、英语、法语
  System.out.println("用本语显示DisplayName: "+ localeEN.getDisplayName());
  System.out.println("用英语显示DisplayName:"+   localeEN.getDisplayName(localeEN ));
  System.out.println("用法语显示DisplayName:"+   localeEN.getDisplayName(localeFR ));
 }
}
*****************************************************

把Date以不同地域的格式显示:java.text.DateFormat
getDateTimeInstance()的前两个参数分别代表日期风格和时间风格,取值为SHORT, MEDIUM, LONG, 和 FULL
getDateInstance()方法:Java还提供了几个选择日期格式,你可以通过使用重载的getDateInstance(int style)获得。出于方便的原因,DateFormat提供了几种预置的常量,你可以使用这些常量参数SHORT, MEDIUM, LONG, 和FULL
-----------------------------------------------
import java.util.Locale;
import java.text.DateFormat;
import java.util.Date;
public class a {
  public static void main(String[] args) {     
    Date now=new Date();
    Locale localeCN=Locale.CHINA;
    DateFormat df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,localeCN);
    System.out.println(df.format(now));
   //结果为2004年5月17日 星期一 下午16时38分32秒 CST  
}}
******************************************************
时区 java.util.TimeZone
--------------------------------------------------------
import java.util.TimeZone;
public class a {
  public static void main(String[] args) {
  // 系统时区
  TimeZone timeZoneFL = TimeZone.getDefault();
  System.out.println("\n" + timeZoneFL.getDisplayName());
  System.out.println("与GMT相差的微秒数: " + timeZoneFL.getRawOffset());
  System.out.println("Uses daylight saving: " + timeZoneFL.useDaylightTime());
  //通过“时区字符串ID”指定时区
  TimeZone timeZoneLondon = TimeZone.getTimeZone("Europe/London");
  System.out.println("\n" + timeZoneLondon.getDisplayName());
  System.out.println("与GMT相差的微秒数: " + timeZoneLondon.getRawOffset());
  System.out.println("采用夏令时: " + timeZoneLondon.useDaylightTime());
  }}
-------------------------------------------------------
显示结果:
中国标准时间
与GMT相差的微秒数:
Uses daylight saving:false;

格林威治时间
与GMT相差的微秒数:
采用夏令时: true

********************************************************
显示不同时区的时间  df.setTimeZone(TimeZone kkk)
----------------------------------------------------
public class a {
  public static void main(String[] args) {

    Date now=new Date();
    DateFormat df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
    TimeZone timezoneCH=TimeZone.getTimeZone("China/BeiJing");
    df.setTimeZone(timezoneCH);
    System.out.println("北京时间"+df.format(now));
    TimeZone timezoneFR=TimeZone.getTimeZone("Europe/Paris");
    df.setTimeZone(timezoneFR);
    System.out.println("巴黎时间"+df.format(now));    
  }}
-----------------------------------------------------
结果如下:
北京时间2004年5月17日 星期一 上午09时31分34秒 GMT
巴黎时间2004年5月17日 星期一 上午11时31分34秒 CEST
*******************************************************