Advertisement
mspotilas

Moon phases and moon emojis in javascript

Apr 24th, 2017
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function moonphase()
  2. {
  3.   // Moon Phase Calculation
  4.   var blueMoonDate = new Date(2016, 4, 22, 0, 14, 0); // in Helsinki
  5. //  var show_date = new Date();
  6. //  var currentDate = new Date(show_date.getFullYear(), show_date.getMonth(), show_date.getDate(), 0, 0, 0);
  7.   var currentDate = new Date(); // 'cause its ad hoc
  8.   var lunarPeriod  = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000);
  9.   var moonPhaseTime = (currentDate.getTime() - blueMoonDate.getTime()) % lunarPeriod;
  10.   var percentRaw = (moonPhaseTime / lunarPeriod);
  11.   var lunarday = Math.round(29*percentRaw);
  12.   if (lunarday<0) lunarday = Math.round(29+12/24+44.05/(24*60) + 29*percentRaw);  
  13.   return lunarday;
  14. }
  15.  
  16. function moonemoji(phase)
  17. {
  18.   if(typeof(phase)==='undefined')
  19.     phase = moonphase();
  20.   if(phase < 1 || phase > 28) // full moon
  21.     return "🌝";
  22.   if(phase < 5)
  23.     return "🌖";
  24.   if(phase < 10)
  25.     return "🌜";
  26.   if(phase < 14)
  27.     return "🌘";
  28.   if(phase < 16)    // new moon = 14/15
  29.     return "🌚";
  30.   if(phase < 20)
  31.     return "🌒";
  32.   if(phase < 25)
  33.     return "🌛";
  34.   return "🌔";
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement