java中的日期格式转换

时间:2025-03-19 14:54:54
import ;
import ;
import ;
import ;
import ;
/**
 * 获取当前的日期格式为:yyyy-MM-dd HH:mm:ss
 * 
 * @author Arthur(user_006)
 * @version 1.0.0 2010/04/24 14:00(星期六)
 */
public class TimerUtil {

    /**
     * 获取当前的日期 , 默认格式
     * 
     * @return 当前的日期
     */
    public synchronized static Date getCurrentCalendar() {

        Calendar calendar = ();
        return ();
    }

    /**
     * 获取当前日期 , 格式yyyy-MM-dd , 如: 2010-04-24
     * 
     * @return
     */
    public synchronized static String getCurrentDate() {

        Calendar calendar = ();

        StringBuffer sb = new StringBuffer();

        (()).append("-");
        (() + 1).append("-");
        ((Calendar.DAY_OF_MONTH));
        return ();
    }

    /**
     * 把字符形式的日期转换成Date类型 , 格式yyyy-MM-DD
     * 
     * @param date
     *            日期的字符串形式
     * 
     * @return Data类型的日期
     */
    public synchronized static Date convertToDate(String date) {

        DateFormat format = new SimpleDateFormat("yyyy-MM-DD");

        try {

            return (date);

        } catch (ParseException e) {

            ();
        }
        return null;
    }

    /**
     * 把日期转换为指定的格式
     * 
     * @param date
     *            要转换的日期
     * @param pattern
     *            转换的格式
     * @return
     */
    public synchronized static Date format(Date date, String pattern) {

        if (pattern != null && ().length() > 0) {

            DateFormat format = new SimpleDateFormat(pattern);

            String stringDate = (date);

            return (stringDate);
        }
        return null;
    }

    /**
     * 将日期转换为字符串 , 格式yyyy-MM-dd HH:mm:ss
     * 
     * @param date
     *            要转换的日期
     * @return
     */
    public synchronized static String convertToString(Date date) {

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return (date);
    }
    
    /**
     * 将日期转换为字符串 , 格式yyyy-MM-dd HH:mm:ss
     * 
     * @param date
     *            要转换的日期
     * @return
     */
    public synchronized static String convertToStrShort(Date date) {

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return (date);
    }

    /**
     * 将日期转换为字符串 , 格式yyyyMMddHHmmss
     * 
     * @param date
     *            要转换的日期
     * @return
     */
    public synchronized static String convertToString2(Date date) {
        DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        return (date);
    }

    
    /**
     * 将日期转换为指定格式的字符串
     * 
     * @param date
     *            要转换的日期
     * @param formatText
     *            转换的格式
     * @return
     */
    public synchronized static String convertToString(Date date,
            String formatText) {

        DateFormat format = new SimpleDateFormat(formatText);

        Calendar calendar = ();

        StringBuffer sb = new StringBuffer();

        (()).append("-");
        (() + 1).append("-");
        ((Calendar.DAY_OF_MONTH));

        return (date);
    }

    /**
     * 获取本周一的日期
     * 
     * @return
     */
    public synchronized static Date getMondayOFWeek() {

        Calendar calendar = ();
        (Calendar.DAY_OF_WEEK, );// 这里设置从周一開始,若须要依据系统时区自己主动获取,则採用下边的方式

        return ();
    }

    /**
     * 获取本周日日期
     * 
     * @return
     */
    public synchronized static Date getCurrentWeekday() {

        Calendar calendar = ();
        (, getCurrentPlus());// 把当前日期的DATE加上当前日期与本周日之间相差的天数
        return ();
    }

    /**
     * 获取上周日的日期
     * 
     * @return
     */
    public synchronized static Date getPreviousWeekday() {

        Calendar calendar = ();
        // (Calendar.DAY_OF_WEEK, +7);
        (, getCurrentPlus() - 7);// 把当前日期的DATE加上当前日期与本周日之间相差的天数
        return ();
    }

    /**
     * 获取上周日的日期
     * 
     * @return
     */
    public synchronized static Date getPreviousMonday() {

        Calendar calendar = ();
        // (Calendar.DAY_OF_WEEK, +7);
        (, getCurrentPlus() - 13);// 把当前日期的DATE加上当前日期与本周日之间相差的天数
        return ();
    }

    /**
     * 获取上周日的日期
     * 
     * @return
     */
    public synchronized static Date getNextWeekday() {

        Calendar calendar = ();
        // (Calendar.DAY_OF_WEEK, +7);
        (, getCurrentPlus() + 1 + 6);// 把当前日期的DATE加上当前日期与本周日之间相差的天数
        return ();
    }

    /**
     * 获取上周日的日期
     * 
     * @return
     */
    public synchronized static Date getNextMonday() {

        Calendar calendar = ();
        // (Calendar.DAY_OF_WEEK, +7);
        (, getCurrentPlus() + 1);// 把当前日期的DATE加上当前日期与本周日之间相差的天数
        return ();
    }

    /**
     * 获取当前日期与本周周日之间相差的天数
     * 
     * @return
     */
    public synchronized static int getCurrentPlus() {

        Calendar calendar = ();
        int days = (Calendar.DAY_OF_WEEK) - 1;// 在中国是已星期一作为一周的第一天,所以这里减1
        return 7 - days;
    }

    public synchronized static int getCurrentYear() {

        Calendar calendar = ();
        return ();
    }

    /**
     * 返回指定日期的当月第一天
     * 
     * @param date
     * @return
     */
    @SuppressWarnings("static-access")
    public synchronized static Date getFirstDayInMonth(Date date) {

        Calendar calendar = ();
        (date);
        (, 1);
        return ();
    }

    /**
     * 返回指定日期的当月最后一天
     * 
     * @param date
     * @return
     */
    @SuppressWarnings("static-access")
    public synchronized static Date getLastDayInMonth(Date date) {

        Calendar calendar = ();

        (date);
        (, 1);
        (, 1);
        (, -1);

        return ();
    }

    /*
     * 计算两个日期之间的天数
     */
    public static int getDaysBetween(Calendar d1, Calendar d2) {
        if ((d2)) {
             swap = d1;
            d1 = d2;
            d2 = swap;
        }
        int days = (Calendar.DAY_OF_YEAR) - (Calendar.DAY_OF_YEAR);
        int y2 = ();
        if (() != y2) {
            d1 = (Calendar) ();
            do {
                days += (Calendar.DAY_OF_YEAR);// 得到当年的实际天数
                (, 1);
            } while (() != y2);
        }
        return days;
    }
    /*
     * 计算两个日期之间的时间
     */
    public static String getGapTime(Date createTime) {
        // TODO Auto-generated method stub
        Calendar d2 = ();
        Calendar d1 = ();
        (createTime);
        int days = (Calendar.DAY_OF_YEAR) - (Calendar.DAY_OF_YEAR);
        if (days < 1) {
            int hour = (Calendar.HOUR_OF_DAY)
                    - (Calendar.HOUR_OF_DAY);
            if (hour < 1) {
                int munites = () - ();
                if (munites == 0) {
                    return "刚刚";
                } else {
                    return munites + "分钟前";
                }
            } else {
                return hour + "小时前";
            }

        } else {
            return days + "天前";
        }
    }
    
    //加天数
    public static String addDays(int day){
        Calendar calendar = ();
        (Calendar.DAY_OF_MONTH, day);
        StringBuffer sb = new StringBuffer();
        (()).append("-");
        (() + 1).append("-");
        ((Calendar.DAY_OF_MONTH));
        return ();
    }
    
    //加年份
    public static String addYears(String now, int year) throws ParseException{
          Calendar fromCal=();
         
           DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
       Date date=(now);
       (date);
       (, year);
       
       return (());
     }
    
    //加天数(特定时间)
    public static String addDate(String now, int day) throws ParseException{
          Calendar fromCal=();
         
           DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
       Date date=(now);
       (date);
       (, day);
       
       return (());
     }

    /**
     * 格多少时间
     * @throws ParseException 
     */

    @SuppressWarnings("deprecation")
    public static void main(String[] args) throws ParseException {
        (("2008-12-01",7));
    }
        /*public static void main(String[] args) {
               String createDate = "2008-12-01";
               SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
               try {
                Date date = (createDate);
                Calendar cl = ();
                (date);
                (,31);
                String temp = "";
                temp = (());
                (temp);
               } catch (ParseException e) {
                // TODO Auto-generated catch block
                ();
               }
            }*/
}