兒子首個獨立完成的編程任務-javascript holiday以及任性關

2018-12-25 约 1764 字 预计阅读 4 分钟

兒子首個獨立完成的編程任務-javascript holiday

這段時間學go語言比較懈怠,好多天沒有學新的。

兒子school holiday期間,給他布置了三個任務,前兩個我給了很大的提示。

第三個基本都是他獨立完成,昨天完成了,樂滋滋的拿了報酬,給他的好朋友買了聖誕節禮物。

因我需要一個簡單的功能,顯示當天的日子,如果是一個公眾假期,就顯示假期,比如今天是聖誕節,就顯示Christmas

兒子通過幾天的工作,借助維基百科,實現了美國公眾假期的顯示,代碼如下:

holiday.js

function holiday(){

var d = new Date();

var year = d.getFullYear();

var date = d.getDate();

var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

var month = d.getMonth();

var days = d.getDay();

var weekday = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];

var holidayhtml = weekday[d.getDay()];

holidayhtml += " " + months[d.getMonth()];

holidayhtml += " " + date;

holidayhtml += " " + year;

function Easter(Y) {

var C = Math.floor(Y/100);

var N = Y - 19*Math.floor(Y/19);

var K = Math.floor((C - 17)/25);

var I = C - Math.floor(C/4) - Math.floor((C - K)/3) + 19*N + 15;

I = I - 30*Math.floor((I/30));

I = I - Math.floor(I/28)*(1 - Math.floor(I/28)*Math.floor(29/(I + 1))*Math.floor((21 - N)/11));

var J = Y + Math.floor(Y/4) + I + 2 - C + Math.floor(C/4);

J = J - 7*Math.floor(J/7);

var L = I - J;

var M = 3 + Math.floor((L + 40)/44);

var D = L + 28 - 31*Math.floor(M/4);

  
return padout(M) - 1 + '.' + padout(D);

}

  

function padout(number) { return (number < 10) ? '0' + number : number; };

var easters = Easter(year);

var Mondayeaster = parseFloat(Easter(year)) + 0.01;

var easters2 = Mondayeaster.toFixed(2);

var day = numberToDay(date);

function numberToDay(j) {

return ('0' + j).slice(-2);

}

if(date == 24 && month == 11){

    holidayhtml = "Christmas Eve " + year;

}

if(date == 25 && month == 11){

    holidayhtml = "Christmas " + year;

}

if(date == 4 && month == 6){

    holidayhtml = "Independence day " + year;

}

if(date == 31 && month == 9){

    holidayhtml = "Halloween " + year;

}

if(date == 14 && month == 1){

    holidayhtml = "Valentine's day " + year;

}

if(date == 17 && month == 4){

    holidayhtml = "St Patrick's day " + year;

}

if(date == 31 && month == 11){

    holidayhtml = "New Year's Eve " + year;

}

if(date == 1 && month == 0){

    holidayhtml = "New Year " + year;

}

if(date == 11 && month == 10){

    holidayhtml = "Veterans Day " + year;

}

if(month == 8){

    if(date == 1 || date == 2 || date == 3 || date == 4 || date == 5 || date == 6 || date == 7){

        if(days == 1){

            holidayhtml = "Labor Day " + year;

        }

    }

}

if(month == 10){

    if(date == 22 || date == 23 || date == 24 || date == 25 || date == 26 || date == 27 || date == 28){

        if(days == 4){

            holidayhtml = "Thanks Giving Day " + year;

        }

    }

}

if(month == 10){

    if(date == 23 || date == 24 || date == 25 || date == 26 || date == 27 || date == 28 || date == 29){

        if(days == 5){

            holidayhtml = "Black Friday Day " + year;

        }

    }

}

if(month == 9){

    if(date == 8 || date == 9 || date == 10 || date == 11 || date == 12 || date == 13 || date == 14){

        if(days == 1){

            holidayhtml = "Columbus Day " + year;

        }

    }

}

if(month == 4){

    if(date == 25 || date == 26 || date == 27 || date == 28 || date == 29 || date == 30 || date == 31){

        if(days == 1){

            holidayhtml = "Memorial Day " + year;

        }

    }

}

if(month == 1){

    if(date == 15 || date == 16 || date == 17 || date == 18 || date == 19 || date == 20 || date == 21){

        if(days == 1){

            holidayhtml = "Washington's Birthday " + year;

        }

    }

}

if(month == 0){

    if(date == 15 || date == 16 || date == 17 || date == 18 || date == 19 || date == 20 || date == 21){

        if(days == 1){

            holidayhtml = "Martin Luther King Jr day " + year;

        }

    }

}

if(month == 5){

    if(date == 15 || date == 16 || date == 17 || date == 18 || date == 19 || date == 20 || date == 21){

        if(days == 0){

            holidayhtml = "Father's day " + year;

        }

    }

}

if(month == 4){

    if(date == 8 || date == 9 || date == 10 || date == 11 || date == 12 || date == 13 || date == 14){

        if(days == 0){

            holidayhtml = "Mother's day " + year;

        }

    }

}

if(easters == month + "." + day){

    holidayhtml = "Easter Sunday " + year;

}

if(easters2 == month + "." + day){

    holidayhtml = "Easter Monday " + year;

}

return holidayhtml;

}

通關文之任性關

道德經曰:“自見者不明,自是者不彰。”
古經雲:“執著之者,不明道德。”
孟子曰:“反身而誠,樂莫大焉;彊恕而行,求仁莫近焉。”
詩曰:“令德令色,小心翼翼。”
此皆教人順情順理而行事,不可任性固執也。
夫人有生以後,秉其後天氣質之性,賢愚善惡清濁強弱,彼此不同。
惟天縱之聖人,本性圓明,純白無疵。
其次中下之人,各有偏病在身,實為性命之大害。
雖為大害,果能自知,亦能變化氣質,反愚為賢,反惡為善,反濁為清,反弱為強。
是在不任其性,親近有道之士,虛心求教,借人之高明,以破我之迷網;借人之磨礪,以去我之瑕疵。
蓋他山之石,可以攻玉。
漸習漸高,漸學漸好,雖愚必明,雖柔必強,何愁道之不明,修之不成乎?
世間糊塗學人,不知任性之害。
既要學道,而又縱性,不肯學好;既想求道,而又任性,不重其道。
或師尊指教而陽奉陰違;或朋友規過而麵是心非;或與人同事而予聖自雄;或與人同居而爭強好勝;或依自己學問而形人之短;或恃自己聰明而笑人之愚;或出言吐語而不肯讓人;或磕著撞著而便生煩惱;或欺大壓小而不能和眾;或度量曲狹而不能容物。
凡此皆任性之弊。
不但外而取人嫌惡,而且內則自種陰毒,生乎偏病,一件不去,自帶愚氣,一些不減。
自以為是,不肯認錯。
以是學道,縱老君對麵,釋迦同居,何益於事。
果是丈夫,一心在道。
靜坐常思己過,閑談不論人非。
事事謹慎,步步點檢,順人順理,隨方就圓,毋固毋我。
以退步為進步,以不強為大強。
焉有不深造而自得者?
吾勸真心學道者,速將任性關口打通。
低頭行事,柔弱安身。
把已往一切固執偏病,自見自是條款,漸漸革去。
學個無性道人,裝個愚癡聾啞呆漢,常在切身大事上留心。
日久必有所得。
否則,一味任性,剛而不柔,過而不改,雖在道門一世,妄想聞道難矣。

此關講到了進道若退的道理。通法即是靜坐常思己過,閑談不論人非。

做到無性,也就是倚天屠龍記內講的


他強由他強,清風拂山崗;他橫由他橫,明月照大江


author

Jesse Lau

網名遁去的一,簡稱遁一。2012年定居新西蘭至今,自由職業者。
本文采用知識共享署名 4.0 國際許可協議進行許可。簡而言之,可隨意轉發轉載,轉載請注明出處。


留点评论吧: