Skywatcher

The time in Eorzea is .

Forecaster
Select a zone first
Select a zone first
Select times
Upcoming Weather
Show all regions
About

The weather in Eorzea can be predicted. First, the number of Eorzean hours and days since the Unix epoch is calculated.

// Get seconds since Jan 1st 1970
const unixSeconds = Date.now() / 1000

// Get Eorzean hours/days since (1 Eorzean hour = 175 seconds)
const eorzeanHours = Math.floor(unixSeconds / 175)
const eorzeanDays = Math.floor(eorzeanHours / 24)

Next, compute which of the 3 time chunks the hour falls in.

let timeChunk = (eorzeanHours % 24) - (eorzeanHours % 8)

// Adjust time chunk so that
//   16:00 is 00,
//   00:00 is 08,
//   08:00 is 16
timeChunk = (timeChunk + 8) % 24

The number of Eorzean days and the time chunk form the seed that is hashed.

const seed = eorzeanDays * 100 + timeChunk

// Do a little hashing
const step1 = (seed << 11) ^ seed
const step2 = (step1 >>> 8) ^ step1

// Return a number between 0-99 inclusive
const weatherChance = step2 % 100

With weatherChance computed as a number from 0 to 99, each zone can determine its weather. For example, the weather in Eureka Anemos is Gales if weatherChance is between 30 and 59. Its full table of weathers is

weatherChanceWeather
00-29Fair Skies
30-59Gales
60-89Showers
90-99Snow