js實現日曆在控制台輸出

2021-10-09 06:02:59 字數 2678 閱讀 8529

首先做乙個前端頁面,頁面放入三個輸入框和乙個按鈕,給按鈕繫結單擊事件,之後的js部分都在此事件中完成:

年月日

查詢

id名可設定可不設定

css樣式隨意設定

先從前端頁面獲取年、月、日的值,此時獲取的值是string型別的,雖然在js中string型別也能計算,但此時我們最好還是將其轉為number型別

var y = number(document.getelementbyid('year').value);

var mon = number(document.getelementbyid('month').value);

var d = number(document.getelementbyid('day').value);

console.log(y+'年'+mon+'月'+d+'日');

資訊:2023年1月1日是周一

然後計算得出輸入的年月日是從2023年1月1日往後開始計算的第幾天,得出總天數後,將天數餘上7,餘數就是輸入的日期是星期幾。

這裡涉及到閏年和非閏年天數不一樣的情況,閏年366天,非閏年365天,關於閏年的判斷就不用多說了吧,都老生常談了。

先取得2023年到輸入年份前一年年底的的總天數,再算出輸入日期時輸入年的第幾天,兩者相加就是最終的總天數

var m = 0;

var n = 0;

for (var i = 1900; i< y; i++)else

}console.log(m*366+n*365);

再算出輸入日期時輸入年的第幾天,這裡我用的方法比較憨哈,這裡可以將2月份的情況放在最後討論,這樣就可以少寫下面12個case或者使用迴圈解決(這個有人指點,我還沒去想),大家自己看看吧!總之最最後得出了總天數。

if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) 

case 3:

count = 31+29+31;

break;

case 4:

count = 31+29+31+30;

break;

case 5:

count = 31+29+31+30+31;

break;

case 6:

count = 31+29+31+30+31+30;

break;

case 7:

count = 31+29+31+30+31+30+31;

break;

case 8:

count = 31+29+31+30+31+30+31+31;

break;

case 9:

count = 31+29+31+30+31+30+31+31+30;

break;

case 10:

count = 31+29+31+30+31+30+31+31+30+31;

break;

case 11:

count = 31+29+31+30+31+30+31+31+30+31+30;

break;

}}else

case 3:

count = 31+28+31;

break;

case 4:

count = 31+28+31+30;

break;

case 5:

count = 31+28+31+30+31;

break;

case 6:

count = 31+28+31+30+31+30;

break;

case 7:

count = 31+28+31+30+31+30+31;

break;

case 8:

count = 31+28+31+30+31+30+31+31;

break;

case 9:

count = 31+28+31+30+31+30+31+31+30;

break;

case 10:

count = 31+28+31+30+31+30+31+31+30+31;

break;

case 11:

count = 31+28+31+30+31+30+31+31+30+31+30;

break;}}

// console.log('第乙個'+count);

count = count + d;

console.log(count);

var sum = count + m*366+n*365;

console.log(sum);

console.log('2023年1月1日到'+y+'年'+mon+'月'+d+'日有'+sum+'天');

算出當前日期星期幾,就能知道本月1日星期幾

var yihao = (sum-d+1)%7;

console.log(mon+'月1日星期'+ yihao);

for (var i = 1; i < yihao; i++)

for (var i = 1;i<= mds;i++)

知道本月1日星期幾,就能知道日曆上1日前空多少格,類似上面算日期是輸入年的第幾天的法子,能得出當前月有多少天,就能在控制台「畫」出日曆

C 從控制台輸入年曆,控制台輸出月日曆

1.根據年月日計算星期數的方法 private static intgetweekbyday int year,int month,int day 2.計算指定月數的天數 private static intgetdaysbymonth int year,int month 3.實現月曆 priva...

控制台輸出控制

by jingzhongrong 通過win32api提供的函式,可以對控制台程式的輸出進行控制,例如字型顏色 標題文字,以及各種屬性等等。主要使用到的函式以及宣告如下 handle getstdhandle dword nstdhandle 此函式用於獲取控制台輸出 輸入控制代碼。得到控制代碼之後...

JAVA 不用迴圈在控制台列印日曆

課程中遇到讓我們用非迴圈的方法將日曆列印在控制台,由此運用localdate的例項。int days scanner sc new scanner system.in system.out.println 請輸入年份 int year sc.nextint system.out.println 請輸...