package test;
import java.sql.Time;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
/**
* 制作可视化日历
* @author ASUS
*
*/
public class VisualCalendar {
public static void main(String[] args){
System.out.println("请输入查询日期: 格式:2016-05-12");
Scanner str1 = new Scanner(System.in);
Calendar useTime = new GregorianCalendar();
Calendar useTime0 = new GregorianCalendar();
Calendar useTime1 = new GregorianCalendar();
Calendar useTime2 = new GregorianCalendar();
String str =str1.next();
DateFormat d = new SimpleDateFormat("yyyy-MM-dd");
try {
Date time =d.parse(str);
//System.out.println(str);
//System.out.println(time.getTime());
DateFormat cc = new SimpleDateFormat("yyyy年MM月dd日");
String newTime =cc.format(time);
System.out.println(newTime);
//System.out.println(time);
//System.out.println(time.getTime());
useTime.setTime(time);
useTime0.setTime(time);
useTime1.setTime(time);
useTime2.setTime(time);;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
useTime1.add(Calendar.MONTH, +1);
useTime1.add(Calendar.DATE,-useTime.get(Calendar.DATE));
useTime.add(Calendar.DATE, -useTime.get(Calendar.DATE)+1);
int j =useTime.get(Calendar.DAY_OF_WEEK)-1;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int z = 1 ;z<useTime.get(Calendar.DAY_OF_WEEK);z++){
System.out.print("\t");
}
//不知道getActualMaximum时写的for循环
//for(int i=1;i<=useTime1.get(Calendar.DATE);i++){
for(int i=1;i<=useTime.getActualMaximum(Calendar.DATE);i++){
j++;
if(i>=useTime.get(Calendar.DATE)){
System.out.print(i);
}
if(i==useTime0.get(Calendar.DATE)){
System.out.print("*");
}
if(i>=useTime.get(Calendar.DATE)){
System.out.print("\t");
}
if(j%7==0){
System.out.println();
}
}
}
}
import java.sql.Time;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
/**
* 制作可视化日历
* @author ASUS
*
*/
public class VisualCalendar {
public static void main(String[] args){
System.out.println("请输入查询日期: 格式:2016-05-12");
Scanner str1 = new Scanner(System.in);
Calendar useTime = new GregorianCalendar();
Calendar useTime0 = new GregorianCalendar();
Calendar useTime1 = new GregorianCalendar();
Calendar useTime2 = new GregorianCalendar();
String str =str1.next();
DateFormat d = new SimpleDateFormat("yyyy-MM-dd");
try {
Date time =d.parse(str);
//System.out.println(str);
//System.out.println(time.getTime());
DateFormat cc = new SimpleDateFormat("yyyy年MM月dd日");
String newTime =cc.format(time);
System.out.println(newTime);
//System.out.println(time);
//System.out.println(time.getTime());
useTime.setTime(time);
useTime0.setTime(time);
useTime1.setTime(time);
useTime2.setTime(time);;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
useTime1.add(Calendar.MONTH, +1);
useTime1.add(Calendar.DATE,-useTime.get(Calendar.DATE));
useTime.add(Calendar.DATE, -useTime.get(Calendar.DATE)+1);
int j =useTime.get(Calendar.DAY_OF_WEEK)-1;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int z = 1 ;z<useTime.get(Calendar.DAY_OF_WEEK);z++){
System.out.print("\t");
}
//不知道getActualMaximum时写的for循环
//for(int i=1;i<=useTime1.get(Calendar.DATE);i++){
for(int i=1;i<=useTime.getActualMaximum(Calendar.DATE);i++){
j++;
if(i>=useTime.get(Calendar.DATE)){
System.out.print(i);
}
if(i==useTime0.get(Calendar.DATE)){
System.out.print("*");
}
if(i>=useTime.get(Calendar.DATE)){
System.out.print("\t");
}
if(j%7==0){
System.out.println();
}
}
}
}