六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

java日期操作的公有类

[复制链接]

升级  16.67%

21

主题

21

主题

21

主题

秀才

Rank: 2

积分
75
 楼主| 发表于 2013-2-3 10:32:20 | 显示全部楼层 |阅读模式
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import com.itbys.frame.common.Convert;public class DateHelper {    public static final String yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";    public static final String alltime = "yyyy-MM-dd HH:mm:ss.SSS";    public static final String yyyy_mm = "yyyy-MM";    public static final String yyyy = "yyyy";    public static final String yyyy_mm_dd = "yyyy-MM-dd";    public static final String CHINESE_PATTERN = "yyyy年MM月dd日";        public static void main(String[] args) {        System.out.println(getmonthdiff("2011-03-01","2011-11-05"));    }         public static String chinadate(String datetime){         return Convert.subString0of10(Convert.filter(datetime)).replaceFirst("-","年").replaceFirst("-","月")+"日";     }             public static Date parseDate(String dateStr)    {        return parseDate(dateStr, yyyy_MM_dd_HH_mm_ss);    }    public static Date parseDate(String dateStr, String pattern)    {        if (dateStr == null || dateStr.trim().equals("") || dateStr.trim().equals("null"))            return null;        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        try {            return sdf.parse(dateStr);        }        catch (ParseException e) {            throw new RuntimeException(e);        }    }        public static String getdayaddone(String date){        SimpleDateFormat sdf=new SimpleDateFormat(yyyy_mm_dd);        Calendar cal=Calendar.getInstance();        try {            cal.setTime(sdf.parse(date));            cal.add(Calendar.DATE, 1);                    } catch (ParseException e) {            e.printStackTrace();        }        return sdf.format(cal.getTime());    }        public static String getyearadd(String yyyymmdd,int add){        SimpleDateFormat sdf=new SimpleDateFormat(yyyy_mm_dd);        Calendar cal=Calendar.getInstance();        try {            cal.setTime(sdf.parse(yyyymmdd));            cal.add(Calendar.YEAR, add);                    } catch (ParseException e) {            e.printStackTrace();        }        return sdf.format(cal.getTime());    }            public static String getmonthadd(String yyyymmdd,int add){        SimpleDateFormat sdf=new SimpleDateFormat(yyyy_mm_dd);        Calendar cal=Calendar.getInstance();        try {            cal.setTime(sdf.parse(yyyymmdd));            cal.add(Calendar.MONTH, add);                    } catch (ParseException e) {            e.printStackTrace();        }        return sdf.format(cal.getTime());    }            public static String getdayadd(String yyyymmdd,int add){        SimpleDateFormat sdf=new SimpleDateFormat(yyyy_mm_dd);        Calendar cal=Calendar.getInstance();        try {            cal.setTime(sdf.parse(yyyymmdd));            cal.add(Calendar.DATE, add);                    } catch (ParseException e) {            e.printStackTrace();        }        return sdf.format(cal.getTime());    }            public static int getmonthdiff(String mintime,String maxtime){        if(Integer.parseInt(mintime.replaceAll("-", ""))>Integer.parseInt(maxtime.replaceAll("-", ""))){            return -1;        }         int changemonth=0;        while(!mintime.substring(0, 7).equals(maxtime.substring(0, 7))){            mintime=getmonthadd(mintime, 1);changemonth++;        }        return changemonth;    }                public static String getFirstDayOfMonth(Date date ){        Calendar c = Calendar.getInstance();        c.setTime(date);                return format(c.getTime(), "yyyy-MM")+"-01";    }    public static String format(Date date) {        if (date == null)            return "";        SimpleDateFormat sdf = new SimpleDateFormat(yyyy_MM_dd_HH_mm_ss);        return sdf.format(date);    }        public static String format(Date date, String pattern) {        if (date == null)            return "";        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(date);    }        public static Date parse(String datetime, String pattern) throws Exception {        if (datetime == null)            return new Date();        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.parse(datetime);    }       public static String getLastDayOfMonth(Date date ){        Calendar c = Calendar.getInstance();        c.setTime(date);        c.add(Calendar.MONTH, 1);        c.set(Calendar.DAY_OF_MONTH, 1);        c.add(Calendar.DAY_OF_MONTH,-1);                return format(c.getTime(), yyyy_mm_dd);    }       public static String getLastDayOfMonth(String dateStr ){        Calendar c = Calendar.getInstance();        c.setTime(parseDate(dateStr,yyyy_mm_dd));        c.add(Calendar.MONTH, 1);        c.set(Calendar.DAY_OF_MONTH, 1);        c.add(Calendar.DAY_OF_MONTH,-1);                return format(c.getTime(), yyyy_mm_dd);    }       public static int getYear(){        Calendar cal= Calendar.getInstance();        return cal.get(Calendar.YEAR);    }       public static int getMonth(){        Calendar cal= Calendar.getInstance();        return cal.get(Calendar.MONTH)+1;    }       public static String getMonth(Date date ){        Calendar c = Calendar.getInstance();        c.setTime(date);        String sjyf = DateHelper.format(c.getTime(),"yyyyMM");                return sjyf;    }           public static String getID(){        Calendar cal= Calendar.getInstance();        String sjyf = DateHelper.format(cal.getTime(),"yyyyMMddHHmmss");                return sjyf;    }        public static String getMonth(Date date,String pattern ){        Calendar c = Calendar.getInstance();        c.setTime(date);        String sjyf = DateHelper.format(c.getTime(),pattern);                return sjyf;    }       public static String getYearMonth(){        return getymdd(yyyy_mm);    }       public static String getymd(){        return getymdd(yyyy_mm_dd);    }       public static String getymdhms(){        return getymdd(yyyy_MM_dd_HH_mm_ss);    }           public static String getalltime(){        return getymdd(alltime);    }        public static String getymdd(String pattern){        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        Calendar cal=Calendar.getInstance();        return sdf.format(cal.getTime());    }        public static int getdiffdate(String datetime,Date date) throws Exception{        SimpleDateFormat sdf = new SimpleDateFormat(yyyy_mm_dd);        datetime=sdf.format(sdf.parse(datetime)).replaceAll("-", "");        int lefttime=Integer.parseInt(datetime.toString());        int righttime=Integer.parseInt(sdf.format(date.getTime()).replaceAll("-", "").trim());        if(lefttime>righttime){//大于            return 1;        } else if(lefttime<righttime){//小于            return -1;        }else{// 等于            return 0;        }    }               public static String getDateMonth(String sdate){        Date date = null;        DateFormat df = DateFormat.getDateInstance();        try {            date = df.parse(sdate);        } catch (ParseException e) {            e.printStackTrace();        }        SimpleDateFormat sdf = new SimpleDateFormat("MM");        return sdf.format(date);    }           public static String getDateYmd(String sdate,String pattern){        Date date = null;        DateFormat df = DateFormat.getDateInstance();        try {            date = df.parse(sdate);        } catch (ParseException e) {            e.printStackTrace();        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(date);    }           public static String stringToDate(String sdate){        Date date = null;        DateFormat df = DateFormat.getDateTimeInstance();        try {            date = df.parse(sdate);        } catch (ParseException e) {            return ""; //sdate 为空 或 "" 会出现异常时 直接返回空        }        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");            return sdf.format(date);    }           public static String stringToDate(String sdate,String pattern){        Date date = null;        DateFormat df = DateFormat.getDateTimeInstance();        try {            date = df.parse(sdate);        } catch (ParseException e) {            return ""; //sdate 为空 或 "" 会出现异常时 直接返回空        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(date);    }               public static long getDateDay(String startDate, String endDate) {        SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");        long nd = 1000 * 24 * 60 * 60;                long diff = 0;        long day = 0;                try {            diff = sd.parse(endDate).getTime() - sd.parse(startDate).getTime();            day = diff / nd;                                } catch (ParseException e) {            e.printStackTrace();        }        return day;    }    }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表