java日期类封装

/**
 * @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()));

    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值