Eorzea Time

by Tenderfeel

HTML

<div id="log">

</div>

JavaScript

var localToEorzea = function() {
  var MONTHS_PER_YEAR = 12;
  var DATES_PER_MONTH = 32;
  var HOURS_PER_DATE = 24;
  var MINUTES_PER_HOUR = 60;
  var SECONDS_PER_MINUTE = 60;
  var MILLISECONDS_PER_SECONDS = 1000;
  var EORZEA_PER_LOCAL = 1440 / 70;
  var EORZEA_MILLISECONDS = 0;

  var MILLISECONDS_PER_MINUTE = MILLISECONDS_PER_SECONDS * SECONDS_PER_MINUTE;
  var MILLISECONDS_PER_HOUR = MILLISECONDS_PER_MINUTE * MINUTES_PER_HOUR;
  var MILLISECONDS_PER_DATE = MILLISECONDS_PER_HOUR * HOURS_PER_DATE;
  var MILLISECONDS_PER_MONTH = MILLISECONDS_PER_DATE * DATES_PER_MONTH;
  return {
    getPerLocal() {
      return EORZEA_PER_LOCAL;
    },
    setTime: function(time) {
      var UNIX = time;
      EORZEA_MILLISECONDS = UNIX * EORZEA_PER_LOCAL;
    },
    setEtTime: function(time) {
      EORZEA_MILLISECONDS = time;
    },
    getMonth: function() {
      return Math.floor(EORZEA_MILLISECONDS / MILLISECONDS_PER_MONTH) % MONTHS_PER_YEAR;
    },
    getDate: function() {
      return Math.floor(EORZEA_MILLISECONDS / MILLISECONDS_PER_DATE) % DATES_PER_MONTH;
    },
    getHours: function() {
      return Math.floor(EORZEA_MILLISECONDS / MILLISECONDS_PER_HOUR) % HOURS_PER_DATE;
    },
    getMinutes: function() {
      return Math.floor((EORZEA_MILLISECONDS / MILLISECONDS_PER_MINUTE) % MINUTES_PER_HOUR);
    },
    getSeconds: function() {
      return Math.floor(EORZEA_MILLISECONDS / MILLISECONDS_PER_SECONDS) % SECONDS_PER_MINUTE;
    },
    getMilliseconds: function() {
      return EORZEA_MILLISECONDS % MILLISECONDS_PER_SECONDS;
    },
    getTime: function() {
      return EORZEA_MILLISECONDS;
    },
    getSpeed: function() {
      return Math.floor(1000 / EORZEA_PER_LOCAL);
    }
  };
};

const WEATHER_BLIZZARDS = 'blizzards';
const WEATHER_CLEAR_SKIES = 'clearSkies';
const WEATHER_CLOUDS = 'clouds';
const WEATHER_DUST_STORMS = 'dustStorms';
const WEATHER_FAIR_SKIES = 'fairSkies';
const WEATHER_FOG = 'fog';
const WEATHER_GALES = 'gales';
const WEATHER_GLOOM =...