在Java中,Calendar是日期處理的一個重要的類。但是,我們使用Calendar獲取的月份,天,小時等可能需要進行簡單的處理才能滿足我們的需要。比如,月份范圍是0-11,而我們可能需要的是1-12;返回值是1位整數,我們可能需要轉換成2位整數等。下面是一個非常簡單的小例子:
package com.qs.number; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import org.junit.Test; public class Utils { public static Map<String, String> dealMonthDayHour(int month, int day, int hour) { Map<String, String> month_day_hour = new HashMap<String, String>(); month = month % 12 + 1;// get the real month month_day_hour.put("month", dealZeroToNine(month)); month_day_hour.put("day", dealZeroToNine(day)); month_day_hour.put("hour", dealZeroToNine(hour)); return month_day_hour; } public static String dealZeroToNine(int num) { if (num >= 1 && num <= 9) { return "0" + num; } return "" + num; } @Test public void showYearMonthDayHour() { Calendar calendar = Calendar.getInstance(); String year = String.valueOf(calendar.get(Calendar.YEAR)); Map<String, String> month_day_hour = Utils.dealMonthDayHour(calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.HOUR_OF_DAY)); String month = month_day_hour.get("month"); String day = month_day_hour.get("day"); String hour = month_day_hour.get("hour"); System.out.println(year + "\t" + month + "\t" + day + "\t " + hour); } }
輸出如下:
2017 01 03 12