java日期类封装

来源:互联网 发布:快速傅里叶变换 知乎 编辑:程序博客网 时间:2024/06/07 10:23
/** * @author xiaoqun.yi 日期工具类 */public class DateTimeHelper {    /**     * 获取当前年     * @return yyyy     */    public static String getCurrentYear() {        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间        String year = String.valueOf(c.get(Calendar.YEAR)); // 获取年        return year;    }    /**     * 获取当前月     * 格式:mm     */    public static String getCurrentMonth() {        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间        String month = String.valueOf(c.get(Calendar.MONTH) + 1).length() == 2 ? String                .valueOf(c.get(Calendar.MONTH) + 1) : "0"                + String.valueOf(c.get(Calendar.MONTH) + 1);        return month;    }    /**     * 获取当前天     * @return dd 不足10前面补0     */    public static String getCurrentDay() {        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间        String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH)).length() == 2 ? String                .valueOf(c.get(Calendar.DAY_OF_MONTH) + 1) : "0"                + String.valueOf(c.get(Calendar.DAY_OF_MONTH));        return day;    }    /**     * 获取当前小时      * @return mm 不足10前面补0     */    public static String getCurrentHour() {        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间        String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)).length() == 2 ? String                .valueOf(c.get(Calendar.HOUR_OF_DAY)) : "0"                + String.valueOf(c.get(Calendar.HOUR_OF_DAY));        return hour;    }    /**     * 获取当前分钟     * @return mm 不足10前面补0     */    public static String getCurrentMinute() {        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间        String min = String.valueOf(c.get(Calendar.MINUTE)).length() == 2 ? String                .valueOf(c.get(Calendar.MINUTE)) : "0"                + String.valueOf(c.get(Calendar.MINUTE));        return min;    }    /**     * 获取当前日期     * @return yyyy-MM-dd     */    public static String getCurrentDate(){        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        return sdf.format(new Timestamp(calendar.getTime().getTime()));    }    /**     *      * @param month 前几个月     * @param day   前几天     * @return yyyyMMdd     */    public static String getBeforeDate(int month,int day){        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));           calendar.add(Calendar.MONTH, month);    //得到前一        calendar.add(Calendar.DATE, day);    //得到前一        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        return sdf.format(new Timestamp(calendar.getTime().getTime()));    }    /**     * 格式显示日期     * @param str yyyyMMdd     * @return yyyy年MM月dd日     */    public static String formtDate(String str){        return str.substring(0,4)+"年"+str.substring(4,6)+"月"+str.substring(6,8)+"日";    }    /**     * 获取系统当期时间,     * @return Timestamp     */    public static Timestamp getNowTimestamp()    {        return new Timestamp(System.currentTimeMillis());    }    /**     * 系统当期时间     * @return  Date     */    public static Date getNowDate()    {        return new Date(System.currentTimeMillis());    }    /**     * 获取当期时间字符串     * @param pattern 格式化字符串     * @return     */    public static String getNowDateStr(String pattern)    {        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(new Date(System.currentTimeMillis()));    }    /**     * 时间转化 字符串转换成时间     * @param dateStr 字符串     * @param pattern 格式     * @return Timestamp     */    public static Timestamp convertToTimestamp(String dateStr,String pattern)    {        try        {            SimpleDateFormat sdf = new SimpleDateFormat(pattern);            Date date = sdf.parse(dateStr);            return new Timestamp(date.getTime());        }        catch(Exception e)        {            e.printStackTrace();        }        return null;    }    /**     *      * @param timeMillis 时间转换字符串     * @param pattern     * @return     */    public static String converToStr(long timeMillis, String pattern)    {        Timestamp t = new Timestamp(timeMillis);        return convert(t, pattern);    }    /**     * 时间转化 字符串转换成时间     * @param dateStr     * @param pattern     * @return Date     */    public static Date convertToDate(String dateStr, String pattern)    {        try        {            SimpleDateFormat sdf = new SimpleDateFormat(pattern);            return sdf.parse(dateStr);        }        catch(Exception e)        {            e.printStackTrace();        }        return null;    }    /**     * 时间转化 时间字符串     * @param timestamp     * @param pattern     * @return String     */    public static String convert(Timestamp timestamp, String pattern)    {        if (timestamp == null)        {            return null;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(new Date(timestamp.getTime()));    }    /**     * 时间转化 根据格式转换时间为字符串     * @param date     * @param pattern     * @return String      */    public static String conver(Date date, String pattern)    {        if (date == null)        {            return null;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(date);    }    /**     * 时间增加 天数     * @param currentmi     * @param day     * @return Date     */    public static Date addDateTime(long currentmi, int day)    {        Calendar cl = Calendar.getInstance();        cl.setTimeInMillis(currentmi);        cl.add(Calendar.DATE, day);        return new Date(cl.getTimeInMillis());    }    /**     * 给时间增加一定天数     * @param currentmi      * @param day 增加的天数     * @param pattern     * @returnn String     */    public static String addDateTimeToStr(long currentmi, int day,String pattern)    {        Calendar cl = Calendar.getInstance();        cl.setTimeInMillis(currentmi);        cl.add(Calendar.DATE, day);        long result = cl.getTimeInMillis();        return conver(new Date(result), pattern);    }    /**     * 获取当前月的第一天     * @return Timestamp     */    public static Timestamp getFirstDayOfMonth()    {        Calendar cal = Calendar.getInstance();        cal.set(GregorianCalendar.DAY_OF_MONTH, 1);        return new Timestamp(cal.getTime().getTime());    }    /**     * 获取当前月第一天     * @return  yyyyMMdd     */    public static String getCurrentMonthFirstDay1(){        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");        return  sdf.format(getFirstDayOfMonth());    }    /**     * 获取当前月第一天     * @return  yyyy年MM月dd日     */    public static String getCurrentMonthFirstDay2(){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM年dd日");        return  sdf.format(getFirstDayOfMonth());    }    /**     * 获取当月的最后一天     * @return  Timestamp      */    public static Timestamp getLastDayOfMonth()    {        Calendar cal = Calendar.getInstance();        cal.set(Calendar.DATE, 1);          cal.roll(Calendar.DATE, -1);          return new Timestamp(cal.getTime().getTime());    }    /**     * 获取当前月最后一天     * @return  yyyyMMdd     */    public static String getCurrentMontLastDay1(){        Calendar cal = Calendar.getInstance();        cal.set(Calendar.DATE, 1);          cal.roll(Calendar.DATE, -1);          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");        return  sdf.format(cal.getTime());    }    /** 获取当月的最后一天     * 返回yyyy年mm月dd日     * @return yyyy年MM月dd日     */    public static String getCurrentMontLastDay2(){        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");        return  sdf.format(getLastDayOfMonth());    }    /**     * 得到今天的前一天     * @return yyyyMMdd     */    public static String getOneDayfore(){        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));           calendar.add(Calendar.DATE, -1);    //得到前一        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");        return sdf.format(new Timestamp(calendar.getTime().getTime()));    }}
0 0
原创粉丝点击