package com.imooc.canlendar;
import java.net.StandardSocketOptions;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class CalendarTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("输入日期:xxxx-xx-xx");
Scanner scan = new Scanner(System.in);
String date = scan.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//自定义日期格式
try {
//Date d = sdf.parse(date);//将日期形式的字符串用SimpleDateFormat中的parse方法转变成日期传给Date对象
Calendar calendar = new GregorianCalendar();//创建一个Calendar对象
calendar.setTime(sdf.parse(date));//用Calendar的setTime方法创建时间
int day = calendar.get(calendar.DATE);//将输入的时间天数保存给day
calendar.set(calendar.DATE,1);//将日期改为1
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<calendar.get(calendar.DAY_OF_WEEK);i++) {//用get(calendar.DAY_OF_WEEK)的到该月1日为星期几
System.out.print("\t");
}
for(int i=1;i<=calendar.getActualMaximum(calendar.DATE);i++) {//用getActualMaximum(calendar.DATE)获得当月最大日期数
if(i==day) {
System.out.print("*");//*定位到输入的日期
}
System.out.print(i+"\t");
int w =calendar.get(calendar.DAY_OF_WEEK);
if(w ==calendar.SATURDAY) { //每逢星期六换行
System.out.println();
}
calendar.add(calendar.DATE,1);
}
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
// TODO 自动生成的方法存根
System.out.println("输入日期:xxxx-xx-xx");
Scanner scan = new Scanner(System.in);
String date = scan.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//自定义日期格式
try {
//Date d = sdf.parse(date);//将日期形式的字符串用SimpleDateFormat中的parse方法转变成日期传给Date对象
Calendar calendar = new GregorianCalendar();//创建一个Calendar对象
calendar.setTime(sdf.parse(date));//用Calendar的setTime方法创建时间
int day = calendar.get(calendar.DATE);//将输入的时间天数保存给day
calendar.set(calendar.DATE,1);//将日期改为1
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<calendar.get(calendar.DAY_OF_WEEK);i++) {//用get(calendar.DAY_OF_WEEK)的到该月1日为星期几
System.out.print("\t");
}
for(int i=1;i<=calendar.getActualMaximum(calendar.DATE);i++) {//用getActualMaximum(calendar.DATE)获得当月最大日期数
if(i==day) {
System.out.print("*");//*定位到输入的日期
}
System.out.print(i+"\t");
int w =calendar.get(calendar.DAY_OF_WEEK);
if(w ==calendar.SATURDAY) { //每逢星期六换行
System.out.println();
}
calendar.add(calendar.DATE,1);
}
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}