主要實現思路是:
//全部時間的月份都是按0~11基準,顯示月份才+1
1.獲取當前月份天數 let daynums = new date(year, month, 0).getdate(); //獲取目標月有多少天
2.獲取當前月份1號對應的星期 startweek = new date(year,month,1).getday(); //目標月1號對應的星期
獲取這個引數的作用是判斷是否需要補充上個月份的天數。
3.獲取當前月份上乙個月的天數;
這裡需做年份判斷
let lasemoth = (month - 1) < 0 ? 11 : month - 1;//上個月份,由當月-1得出,若小於0則為上一年11月
let lasemothdaynums = new date(lasemothyear, lasemoth, 0).getdate();
if (month - 1 < 0) else {// 上個月的天數
obj = {
istoday: '' + lasemothyear + (lasemoth + 1) + lasemothdaynums - startweek + i + 1,
istomonth:0,
datenum: lasemothdaynums-startweek+i+1,//上個月天數數字
datearr[i] = obj;
if(yu!=0){//下個月天數 因為總是從1開始所以直接迴圈增加
let daynumber=1;
for (let i = lastandthis; i < listlength;i++) {
obj = {
istoday: '' + lasemothyear + (lasemoth + 1) + lasemothdaynums - startweek + i + 1,
istomonth: 0,//該天數是否屬於當月
datenum: daynumber,
datearr[i] = obj;
daynumber++;
最後就是迴圈整個列表建立ui了
今天除錯發現獲取的日期對不上。最後發現時獲取當月天數的問題
let daynums = new date(year, (month+1), 0).getdate(); //獲取目標月有多少天
要+1獲取才正確...但是獲取1號對應星期卻不需要....
Android自定義日曆
1.自定義控制項基於系統控制項上改進 2.類繼承布局或者基礎控制項進行自定義 3.去到main的布局中去繫結檢視,4.物件的轉殖的記憶體與源物件的記憶體是相同的 5.layoutinflater inflater layoutinflater.from context inflater.inflat...
自定義日曆(Project)
project2016 企業專案管理實踐 張會斌 董方好 編著 日曆有三種 標準日曆 24小時日曆和夜班日曆。但這三種在現實中遠遠不夠用,別的不說,就說那個標準日曆,預設是8點到12點,13點到17點,可有些專案,比如澆混凝土,大中午太陽爆曬的那幾個小時是不適合幹這活的,所以工作時間有可能就變成6點...
小程式自定義TabBar
tabbar requiredbackgroundmodes audio location debug true,sitemaplocation sitemap.json 查資料發現,tabbar的list下的第一項的路徑必須對應於pages配置下的第乙個頁面。因此,將tabbar中list的第乙個...