CoffeeScript 计算复活节的日期


本文整理自网络,侵删。

计算复活节的日期

问题

你需要在给出的年份中找到复活节的月份和日期。

解决方案

下面的函数返回数组有两个要素:复活节的月份( 1-12 )和日期。如果没有给出任何参数,给出的结果是当前的一年。这是在CoffeeScript的匿名公历算法实现的。

gregorianEaster = (year = (new Date).getFullYear()) ->
  a = year % 19
  b = ~~(year / 100)
  c = year % 100
  d = ~~(b / 4)
  e = b % 4
  f = ~~((b + 8) / 25)
  g = ~~((b - f + 1) / 3)
  h = (19 * a + b - d - g + 15) % 30
  i = ~~(c / 4)
  k = c % 4
  l = (32 + 2 * e + 2 * i - h - k) % 7
  m = ~~((a + 11 * h + 22 * l) / 451)
  n = h + l - 7 * m + 114
  month = ~~(n / 31)
  day = (n % 31) + 1
  [month, day]

讨论

Javascript中的月份是0-11。getMonth()查找的是三月的话将返回数字2 ,这个函数会返回3。如果你想要这个功能是一致的,你可以修改这个函数。

该函数使用~~符号代替来Math.floor()。

gregorianEaster()    # => [4, 24] (April 24th in 2011)
gregorianEaster 1972 # => [4, 2]

标签:CoffeeScript

相关阅读 >>

CoffeeScript 关于

CoffeeScript 把字符串转换为小写形式

CoffeeScript 将数组连接

CoffeeScript 映射数组

CoffeeScript 检测与构建丢失的函数

CoffeeScript 检测每个元素

CoffeeScript 定义数组范围

CoffeeScript 把字符串转换为大写形式

CoffeeScript 计算复活节的日期

CoffeeScript 提示参数

更多相关阅读请进入《CoffeeScript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...