Java时间转换类实现

Java时间类型非常的差,首先版本问题,本人使用java在Android平台开发。很多Data类的方法已经不提倡使用,一个时间,居然要使用Calendar、DateFormat等类共同编码,非常麻烦。而且很多支持不足,比如时间加减,比如获取时间的日期而时分秒置0等,而C#的时间类实现的就非常方便。

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;
    }

}

 

posted on 2013-09-05 10:08  fyhui  阅读(1813)  评论(0编辑  收藏  举报