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;

    }



}

 

你可能感兴趣的:(java)