Java实现一个简易万年历

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;
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();
  }
 }
}

猜你喜欢

转载自blog.csdn.net/xiaobo_666666/article/details/80139077