java 日曆代碼實現

來源:互聯網
上載者:User

標籤:date   bst   測試   日期   sim   time   控制   輸入   分享   

 

    

  

System.out.println("請輸入日期(按照格式:2030-3-10):");
//在控制台輸入
//String str="2016-9-26";
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
//將字串轉為日期,記住 abstract class DateFormat,所以要 new 子類
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
//匯入包的時候記住 java.util.Date;
Date date=dateformat.parse(str);
//將日期轉為日曆 記住 abstract class Calendar
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
/*要實現一個日曆的功能
* 1.首先要知道這個月份共有多少天
* 2.知道每個月的一號在星期幾,並且知道外國和中國的日曆不同,比如外國的每周第一天是我們的星期日
* 我們可以把控制台拿到的日曆進行轉化,我們把每次拿到的日曆重新設定為當月的第一天,
* 這樣我們就可以知道每月一號前有幾個空格符
*

* */
//擷取本月最大的天數
int maxday=calendar.getActualMaximum(Calendar.DATE);
System.out.println("最大的天數 maxday:"+maxday);
//把日期設定為一號,並且找出是本周的第幾天,並且測試一下
calendar.set(Calendar.DATE, 1);
int day=calendar.get(Calendar.DATE);
int weekofday1=calendar.get(Calendar.DAY_OF_WEEK);
/*int day=calendar.get(Calendar.DATE);
System.out.println(day);*/


System.out.println("日\t一\t二\t三\t四\t五\t六");
//要把一號置為所在的星期幾,所以要先空格
for(int i=1;i<weekofday1;++i){
System.out.print("\t");
}

for(int i=1;i<=maxday;++i){
if(i==day){
System.out.print(i+"*"+"\t");
}else{
System.out.print(i+"\t");
}
//注意是 print 不是println

//每次到了星期六就要換行,如果拿到每周的第七天就是星期6==Calendar.DAY_OF_WEEK,就換行
//但是要注意我們設定的日期已經為一號了,所以每次迴圈結束前要增加日期的天數,要麼始終為一號
int weekofday=calendar.get(Calendar.DAY_OF_WEEK);
if(weekofday==Calendar.SATURDAY){
System.out.println();
}
calendar.add(Calendar.DATE,1);
}

 

java 日曆代碼實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.