實現一可調節月份日曆

2021-07-03 23:11:28 字數 1663 閱讀 4833

思路主要是根據calendar類中的各屬性方法,來實現乙個有條件的數字迴圈,用到或有用的方法:

例項乙個日曆:c = calendar.getinstance()

取得年份:c.get(calendar.year)

取得月份:c.get(calendar.month) (從calendar中取得的mouth是從 0 開始!)

取得號數:c.get(calendar.day_of_month)

設定號數:c.set(calendar.day_of_month, xx)

取得號數的星期:c.get(calendar.day_of_week) (從calendar中取出的星期是從sunday開始,所以為 1 時即為 sunday !)

增加天數:c.add(calendar.day_of_month, xx)  (xx為需要增加的天數,可以為負,為負則為減少,add為自動調節,比如現在是4月30號,那 +1 後,c 為 5 月 1 號 而不是4月31號;月份的增加也相同 ) 

思路主要是:建乙個**用以顯示,因為某月中最多的週數為 6 ,一周的天數為 7 ,所以**為 row 6 * column 7;然後就要把相應的數字填充到**中,那麼主要的就是要找到**的第乙個數字是什麼,那後面的直接迴圈即可,首先設定預設日曆的號數為 1 ,可得到這個月 1 號是 星期幾 ,那麼就可得到 它 前面有多少天,在它的基礎上減去這個天數,就是表第一行第一列應該顯示的數字了,那麼迴圈下去,這個簡單的顯示本月的日曆就做好了;如果要在表中只顯示本月的天數的數字,那麼再構造乙個預設的calendar類,因為上面操作的 calendar 類是在不斷的變化的,所以 根據兩個 calendar 類的月份進行比較,月份相同的在表中顯示,這樣就行了。如果還要新增一些其他的特效等,比如星期六,星期天的號數不同顏色顯示,參考 defaulttablecellrenderer 類。 日曆**如下:

[html]view plain

copy

print?

/**  

* @author loved_wy  

*/  

public class gettabledata   

public object gettabledata(int year, int mouth)   

c.set(calendar.day_of_month, 1);  

int firstdayweek= c

.get(calendar.day_of_week);  

object object

= new

object[6][7];  

c.add(calendar.day_of_month, -(firstdayweek - 1));  

for (int x= 0

; x 

<

6; x++)   

c.add(calendar.day_of_month, 1);  

}  }  

return object;  

}  }  

上面的**中的方法傳入的引數是用於調節年月,只要傳入相應的引數即可達到日曆變動的目的。-- by loved_wy

效果圖如下:

列印一年內任意月份的日曆(C語言)

題目要求 2007年1月1日為星期一,編寫乙個函式,輸出2007年任意月份的日曆 這道題我是個人的做法,有個別地方可能有些繞。includeint main printf n n return 0 int iswhatday int month distance days 7 switch dist...

改紙盒大小 一種可調節大小的包裝紙箱的製作方法

本實用新型涉及包裝技術領域,更具體地說,涉及一種可調節大小的包裝紙箱。背景技術 包裝紙箱是用紙製品製造的,用於包裝各類物品的用具,分單坑 3層 雙坑 5層 三坑 7層 四坑 9層 紙箱,紙箱細分紙盒 彩箱 彩盒和超大規格奇形啤盒等各類包裝。現有的紙箱經常會出現需要盛放的物品過少過多,乙個箱子裝不滿或...

網頁實現製作乙個小日曆

在網頁上製作乙個日曆,利用jquery實現它,其實也不是很困難,參照網上的部分思想自己再深加工,乙個精美的日曆也就能呈現了 接下來談談實現它的函式思想 var date new date var show day new array 星期日 星期一 星期二 星期三 星期四 星期五 星期六 var s...