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

JAVA日期处理

2013-05-10 18:03 253 查看
package com.xxx.util;

import java.text.ParseException;

import java.util.Calendar;

import java.util.Date;

import java.text.SimpleDateFormat;

public class CommonUtil {

   /**

    * 将Date类型日期转化成String类型"任意"格式

    * java.sql.Date,java.sql.Timestamp类型是java.util.Date类型的子类

    * @param date Date

    * @param format String

    *               "2003-01-01"格式

    *               "yyyy年M月d日"

    *               "yyyy-MM-dd HH:mm:ss"格式

    * @return String

    */

   public static String dateToString(java.util.Date date,String format) {

       if (date==null || format==null) {

           return null;

       }

       SimpleDateFormat sdf = new SimpleDateFormat(format);

       String str = sdf.format(date);

       return str;

   }

   

   /**

    * 将String类型日期转化成java.utl.Date类型"2003-01-01"格式

    * @param str String 要格式化的字符串

    * @param format String

    * @return Date

    */

   public static java.util.Date stringToUtilDate(String str,String format) {

       if (str==null||format==null) {

           return null;

       }

       SimpleDateFormat sdf = new SimpleDateFormat(format);

       java.util.Date date = null;

       try

       {

           date = sdf.parse(str);

       }

       catch(Exception e)

       {

       }

       return date;

   }

   

   /**

    * 将String类型日期转化成java.sql.Date类型"2003-01-01"格式

    * @param str String

    * @param format String

    * @return Date

    */

   public static java.sql.Date stringToSqlDate(String str,String format) {

       if (str==null||format==null) {

           return null;

       }

       SimpleDateFormat sdf = new SimpleDateFormat(format);

       java.util.Date date = null;

       try

       {

           date = sdf.parse(str);

       }

       catch(Exception e)

       {

           return null;

       }

       return new java.sql.Date(date.getTime());

   }

   

   /**

    * 将String类型日期转化成java.sql.Date类型"2003-01-01"格式

    * @param str String

    * @param format String

    * @return Timestamp

    */

   public static java.sql.Timestamp stringToTimestamp(String str,String format) {

       if (str==null||format==null) {

           return null;

       }

       SimpleDateFormat sdf = new SimpleDateFormat(format);

       java.util.Date date = null;

       try

       {

           date = sdf.parse(str);

       }

       catch(Exception e)

       {

           return null;

       }

       return new java.sql.Timestamp(date.getTime());

   }

   

   /**

    * 将java.util.Date日期转化成java.sql.Date类型

    * @param Date

    * @return 格式化后的java.sql.Date

    */

   public static java.sql.Date toSqlDate(Date date) {

       if (date==null) {

           return null;

       }

      return new java.sql.Date(date.getTime());

   }

   

   /**

    * 将字符串转化为时间格式 string to string

    * @param str String

    * @param format String

    * @return String

    */

   public static String toDateString(String str,String oldformat,String newformat){

       return dateToString(stringToUtilDate(str,oldformat),newformat);

   }

   

   /**

    * 将日历转化为日期

    * @param calendar Calendar

    * @return Date

    */

   public static java.util.Date converToDate(java.util.Calendar calendar){

     return Calendar.getInstance().getTime();

   }

   

   /**

    * 将日期转化为日历

    * @param date Date

    * @return Calendar

    */

   public static java.util.Calendar converToCalendar(java.util.Date date){

      Calendar calendar = Calendar.getInstance();

      calendar.setTime(date);

      return calendar;

   }

   

   /**

    * 求得从某天开始,过了几年几月几日几时几分几秒后,日期是多少

    * 几年几月几日几时几分几秒可以为负数

    * @param date Date

    * @param year int

    * @param month int

    * @param day int

    * @param hour int

    * @param min int

    * @param sec int

    * @return Date

    */

   public static java.util.Date modifyDate(java.util.Date date,int year ,int month,int day,int hour,int min,int sec){

     Calendar cal = Calendar.getInstance();

     cal.setTime(date);

     cal.add(Calendar.YEAR,year);

     cal.add(Calendar.MONTH,month);

     cal.add(Calendar.DATE,day);

     cal.add(Calendar.HOUR,hour);

     cal.add(Calendar.MINUTE,min);

     cal.add(Calendar.SECOND,sec);

     return cal.getTime();

   }

   

   /**

    * 取得当前日期时间

    * 1:year

    * 2:month

    * 3:day

    */

   public static int getCurTime(int i) {

     if (i == 1) {

       return java.util.Calendar.getInstance().get(Calendar.YEAR);

     }

     else if (i == 2) {

       return java.util.Calendar.getInstance().get(Calendar.MONTH) + 1;

     }

     else if (i == 3) {

       return java.util.Calendar.getInstance().get(Calendar.DATE);

     }

     return 0;

   }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: