Java時間轉換類實現

Java時間類型很是的差,首先版本問題,本人使用java在Android平臺開發。不少Data類的方法已經不提倡使用,一個時間,竟然要使用Calendar、DateFormat等類共同編碼,很是麻煩。並且不少支持不足,好比時間加減,好比獲取時間的日期而時分秒置0等,而C#的時間類實現的就很是方便。java

public class DateUtil {
    public static Date getDate(Date date){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY,   0);   
        calendar.set(Calendar.MINUTE,   0);   
        calendar.set(Calendar.SECOND,   0);   
        calendar.set(Calendar.MILLISECOND,   0);
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        dt = calendar.getTime();
        return dt;
    }
    
    public static String getDateString(Date date){
        String sDate = "";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        Date dt = getDate(date);
        sDate = sdf.format(dt);
        
        return sDate;
    }
    
    public static long getDateLong(Date date){
        long lDate = 0;
        Date dt = getDate(date);
        lDate = dt.getTime();
        return lDate;
    }
    
    public static long getDateTimeLong(Date date){
        long lDate = 0;
        lDate = date.getTime();
        return lDate;
    }
    
    public static String getString(Date date, String format){
        String sDate ="";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sDate = sdf.format(date);
        return sDate;
    }
    
    public static long getString(String dateTime, String format){
        long lDate = 0;
        
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            Date date = sdf.parse(dateTime);
            lDate = date.getTime();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        return lDate;
    }
    
    public static String getString(long tm, String format){
        String sDate="";
        Date date = DateUtil.putDateTime(tm);
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sDate = sdf.format(date);
        return sDate;
    }
    
    public static Date putDateTime(long time){
        Date date = null;
        date = new Date(time);
        return date;
    }
    
    public static Date putDate(long time){
        Date date = null;
        date = new Date(time);
        date = getDate(date);
        return date;
    }

    public static Date putDateTime(String dtString, String format){
        Date date = null;
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            date = sdf.parse(dtString);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return date;
    }


    public static Date AddYear(Date date, int y){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.YEAR, y);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddMonth(Date date, int m){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MONTH, m);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddDay(Date date, int d){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, d);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddHour(Date date, int h){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR_OF_DAY, h);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddMinute(Date date, int m){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MINUTE, m);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddSecond(Date date, int s){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.SECOND, s);
        dt = calendar.getTime();
        return dt;
    }
    
    public static Date Add(Date date, int millisecond){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MILLISECOND, millisecond);
        dt = calendar.getTime();
        return dt;
    }
    public static long Subtrat(Date date1, Date date2){
        long l = 0;
        l = date1.getTime() - date2.getTime();
        return l;
    }

}
相關文章
相關標籤/搜索