// something like below
if (millis() % 6000 == 0)
{
Serial.print (weather data)
}
Caution though, millis() might jump a few units while you are processing. In other words, you might miss exactly the 6000 point.
Better to have a "lastDisplayTime" variable, and compare until it has passed the required time. eg.
if (millis() - lastDisplayTime >= 300000) // 5 minutes up?
{
// display stuff
lastDisplayTime = millis (); // when we updated
}