儿子首个独立完成的编程任务-javascript holiday以及任性关

2018-12-25 约 1169 字 预计阅读 3 分钟

儿子首个独立完成的编程任务-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 国际许可协议进行许可。简而言之,可随意转发转载,转载请注明出处。


留点评论吧:

本网站使用cookie技术以提高用户体验度。 了解我们的隐私政策 我已了解