關於時間的相關基礎收集

public class TimeUtil {

    /**
     * 日期格式
     */
    private static SimpleDateFormat format_date = new SimpleDateFormat("yyyy-MM-dd");
    /**
     * 時間格式:
     * h am/pm 中的小時數(1-12) Number 12
     * H 一天中的小時數(0-23) Number 0
     * k 一天中的小時數(1-24) Number 24
     * K am/pm 中的小時數(0-11) Number 0
     */
    private static SimpleDateFormat format_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * 獲取當前日期:
     *
     * @return
     */
    public static String getDate() {
        return format_date.format(new Date());
    }

    /**
     * 獲取指定時間的日期:
     *
     * @param time 2016-01-11 09:43:12 格式
     * @return
     */
    public static String getDate(String time) {
        try {
            Date date = format_time.parse(time);
            return format_date.format(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 獲取英文格式的日期:
     *
     * @param date
     * @return
     */
    public static String getEngDate(String date) {
        try {
            Date d = format_date.parse(date);
            StringBuilder builder = new StringBuilder();
            switch (d.getMonth()) {
                case 0:
                    builder.append("January");
                    break;
                case 1:
                    builder.append("February");
                    break;
                case 2:
                    builder.append("March");
                    break;
                case 3:
                    builder.append("April");
                    break;
                case 4:
                    builder.append("May");
                    break;
                case 5:
                    builder.append("June");
                    break;
                case 6:
                    builder.append("July");
                    break;
                case 7:
                    builder.append("Aguest");
                    break;
                case 8:
                    builder.append("September");
                    break;
                case 9:
                    builder.append("October");
                    break;
                case 10:
                    builder.append("November");
                    break;
                case 11:
                    builder.append("December");
                    break;
            }
            builder.append(" " + new SimpleDateFormat("dd,yyyy").format(d));
            return builder.toString();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 將指定日期進行偏移,獲取偏移後的日期:
     *
     * @param date   要偏移的日期,需是"2016-01-11"格式
     * @param offset 偏移的值,可正可負
     * @return
     */
    public static String getPreviousDate(String date, int offset) {
        try {
            Date d = format_date.parse(date);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(d);
            calendar.roll(Calendar.DAY_OF_MONTH, offset);
            return format_date.format(calendar.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 獲得日期中的日
     *
     * @param date
     * @return
     */
    public static String getDay(String date) {
        try {
            Date d = format_date.parse(date);
            Calendar calendar=Calendar.getInstance();
            calendar.setTime(d);
            int day=calendar.get(Calendar.DAY_OF_MONTH);

            return day<10?"0"+day:""+day;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 月份和年
     *
     * @param date
     * @return
     */
    public static String getMonthAndYear(String date) {
        try {
            Date d = format_date.parse(date);
            StringBuilder builder = new StringBuilder();
            switch (d.getMonth()) {
                case 0:
                    builder.append("Jan,");
                    break;
                case 1:
                    builder.append("Feb,");
                    break;
                case 2:
                    builder.append("Mar,");
                    break;
                case 3:
                    builder.append("Apr,");
                    break;
                case 4:
                    builder.append("May,");
                    break;
                case 5:
                    builder.append("Jun,");
                    break;
                case 6:
                    builder.append("Jul,");
                    break;
                case 7:
                    builder.append("Agg,");
                    break;
                case 8:
                    builder.append("Sep,");
                    break;
                case 9:
                    builder.append("Oct,");
                    break;
                case 10:
                    builder.append("Nov,");
                    break;
                case 11:
                    builder.append("Dec,");
                    break;
            }
            builder.append(d.getYear()+1900);
            return builder.toString();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return "";
    }
}

發佈了37 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章