万年历升级版 Calendar
package com.yc.wnl; import java.util.Calendar; import java.util.Date; import java.util.Scanner; import com.yc.ycutil.DateUtil;
//用于输出用户要求的年月对应的表格 public class CalendarTest { public static void main(String[] args) { ///万年历的进化版 //1、这个月的一号是在哪一天 //2、这个月由多少天可以 Scanner sc=new Scanner(System.in); System.out.println("请输入相应的年份"); int year=sc.nextInt(); System.out.println("请输入相应的月份"); int month=sc.nextInt(); //获得当前的日期 Calendar cc=Calendar.getInstance(); //需要重新设置Canlendar 下的month是从0-11 的 cc.set(year, month-1, 1); //获得这个时间是这个周第几天 int dayofweek=cc.get(Calendar.DAY_OF_WEEK)-1; System.out.println(dayofweek); //求当前这个月由多少天 //下个月的一号 减去1天就回到了前一个月的最后一天 哪一天也就是表示着这个月由几天 cc.add(Calendar.MONTH,1);//月份加1 cc.add(Calendar.DATE,-1);//天数减1 int days=cc.get(Calendar.DATE);//获得了这个月份的天数 //取出今天的日期 DateUtil du=new DateUtil(); du.setFormat("yyyy年M月d日"); String todaystr=du.formatDate(new Date()); System.out.println(todaystr); System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t"); for(int i=1;i<=dayofweek;i++){ System.out.print("\t"); } // System.out.println("1"); for(int i=1;i<=days;i++){ System.out.print(i+"\t"); if((i+dayofweek)%7==0){ System.out.println(); } } } }
package com.yc.ycUtil; //该类通过使用DateFormat 和 Date 输出指定形式的时间 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { private String format; private DateFormat dateformat; //设置输出形式 public void setFormat(String format){ this.format=format; dateformat=new SimpleDateFormat(format); } //输出 由Date输出字符串 public String formatDate(Date date){ return dateformat.format(date); } //由字符串输出Date public Date dateParse(String format) throws Exception{ return dateformat.parse(format) ; } //测试!! public static void main(String[] args) { DateTest dt=new DateTest(); dt.setFormat("yyyy-MM-dd"); Date date=new Date(); System.out.println(dt.formatDate(date)); System.out.println(); } }