问题你想找出月球的相位。解决方案以下代码提供了一种计算给出日期的月球相位计算方案:# moonPhase.coffee# Moon-phase calculator# Roger W. Sinnott, Sky & Telescope, June 16, 2006# http://www.skyandtelescope.com/observing/objects/javascript/moon_phases## Translated to CoffeeScript by Mike Hatfield @WebCoding4Funproper_ang = (big) ->
问题你需要计算相关日期范围例如“上一个月”,“下一个月”。解决方案添加或减去当月的数字,JavaScript 的日期构造函数会修复数学知识。# these examples were written in GMT-6# Note that these examples WILL work in January!now = new Date# => "Sun, 08 May 2011 05:50:52 GMT"lastMonthStart = new Date 1900+now.getYear(), now.
问题你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。解决方案利 用JavaScript 的日期下溢来找到给出月份的第一天: now = new DatelastDayOfTheMonth = new Date(1900+now.getYear(), now.getMonth()+1, 0)讨论JavaScript 的日期构造函数成功地处理溢出和下溢情况,使日期的计算变得很简单。
问题你需要在给出的年份中找到感恩节的月份和日期。解决方案下面的函数返回给出年份的感恩节的日期。如果没有给出任何参数,给出的结果是当前年份。 美国的感恩节是十一月的第四个星期四。 thanksgivingDayUSA = (year = (new Date).getFullYear()) -> first = new Date year, 10, 1 day_of_week = first.
问题你希望能够在特定的情况下检测出在数组中的每个元素。解决方案使用 Array.every (ECMAScript 5):evens = (x for x in [0..10] by 2)evens.every (x)-> x % 2 == 0# => trueArray.every 被加入到 Mozilla 的 Javascript 1.6 ,ECMAScript 5 标准。如果你的浏览器支持,但仍无法实施 EC5 ,那么请检查 [ _.all from underscore.js]( http://documentcloud.