1 importjava.text.ParseException;2 importjava.text.SimpleDateFormat;3 importjava.util.Calendar;4 importjava.util.Date;5
6
7 public classDateUtil {8 static Calendar ca =Calendar.getInstance();9 /**
10 *1 将Date转换为String11 *@return
12 */
13 public static voidgetDateToString(){14 Date a = newDate();15 SimpleDateFormat sdf = new SimpleDateFormat("y-M-d");16 String str =sdf.format(a);17 System.err.println(str);18 }19 /**
20 *2 将String日期转换为Date21 *@paramstr22 *@return
23 */
24 public staticDate getStringToDate(String str){25 SimpleDateFormat sdf = new SimpleDateFormat("y-M-d");26 Date date=null;27 try{28 date =sdf.parse(str);29 } catch(ParseException e) {30 //TODO Auto-generated catch block
31 e.printStackTrace();32 } finally{33 System.err.println(date);34 returndate;35 }36 }37 /**
38 *3 计算该月份最多有多少天39 *@paramyear40 *@parammonth41 *@return
42 */
43 public static int getMaximumDay(int year,intmonth){44 Date now = newDate();45
46 ca.clear();47 ca.set(Calendar.YEAR,year);48 ca.set(Calendar.MONTH,month-1);49 //ca.set(Calendar.DATE,day);
50 int a =ca.getActualMaximum(Calendar.DAY_OF_MONTH);51 System.out.println(a);52 returna ;53 }54 /**
55 *4 指定日期计算这是当年第几天第几星期56 *57 *@paramstr58 */
59 public static voidsetDate(String str) {60 SimpleDateFormat sdf = new SimpleDateFormat("y-M-d");61 Date date = null;62 try{63 date =sdf.parse(str);64 ca.clear();65 ca.setTime(date);66 int a =ca.get(Calendar.DAY_OF_YEAR);67 int b =ca.get(Calendar.WEEK_OF_YEAR);68 System.err.println("此日期为当年的第"+a+"天"+"第"+b+"周");69
70 } catch(ParseException e) {71 //TODO Auto-generated catch block
72 e.printStackTrace();73 }74 }75 /**
76 *5 计算一年中第几个星期天是几号:77 *@paramargs78 */
79 public static void getDate(int year,intweek){80 ca.clear();81 ca.set(Calendar.YEAR, year);82 ca.set(Calendar.WEEK_OF_YEAR, week);83 ca.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);84 SimpleDateFormat sdf = newSimpleDateFormat();85 int m =ca.get(Calendar.DAY_OF_MONTH);86 int n =ca.get(Calendar.MONTH);87 System.out.println(sdf.format(ca.getTime()));88 }89 /**
90 *6 将日历转换为日期91 */
92 public static voidgetCalendarToDate(){93 ca.getTime();94 System.out.println(ca.getTime());95 }96 /**
97 *7 将日期转换为日历98 */
99 public static voidgetDateToCalendar(){100 Date now = newDate();101 ca.setTime(now);102 ca.getCalendarType();103 System.out.println(ca);104 // System.out.println(ca.getCalendarType());105 }106 /**
107 *8 计算两个日期相隔多少天108 *@paramdate1109 *@paramdate2110 */
111 public static voidgetDays(String date1,String date2){112 ca.setTime(getStringToDate(date1));113 int a1 =ca.get(Calendar.DAY_OF_YEAR);114 ca.setTime(getStringToDate(date2));115 int a2 =ca.get(Calendar.DAY_OF_YEAR);116 System.err.println("同年两个日期的相隔的天数为:"+Math.abs(a2-a1));117 }118 public static voidmain(String[] args) {119 //TODO Auto-generated method stub120 //getDateToString();//1,将Date的日期转化为String的形式返回121 //getStringToDate("2018-09-12");//2.将String类型转成122 //getMaximumDay(2017,2);//3.指定年份和月份,计算该月份最大有多少天Date类型123 //setDate("2018-09-26");//4.指定日期,计算该天是当年第多少天,多个个星期124 //getDate(2018,2);//5.计算一年中的第几星期天是几号125 //getDateToCalendar();//6.Date类型转成Calendar126 //getCalendarToDate();//7.Calendar类型转成Date127 //getDays("2018-08-01","2018-09-1");//8.计算两个同一年的时间中间相隔的天数
128 }129
130 }