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);//月份加1cc.add(Calendar.DATE,-1);//天数减1int 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);}//由字符串输出Datepublic 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();}}