Unexpected timezone issues

Hi, my server in Melbourne Australia is getting weather forecasts from a few places around Australia. When I look at the daily timesteps that I get back, they might be something like this:

"days": [
  {
    "forecastStart": "2025-06-25T00:00:00Z",
    "forecastEnd": "2025-06-26T00:00:00Z",
    "daytimeForecast": {
      "forecastStart": "2025-06-25T07:00:00Z",
      "forecastEnd": "2025-06-25T19:00:00Z",
    "overnightForecast": {
      "forecastStart": "2025-06-25T19:00:00Z",
      "forecastEnd": "2025-06-26T07:00:00Z",}

It doesn't matter where I ask for - Melbourne, Darwin, Perth, it always comes back the same.

The documentation says that daytimeForecast is 7 am to 7 pm local and overnightForecast is 7pm to 7 am local.

However, in a place like Perth 7-19Z is 3 pm to 3 am, not 7 pm to 7 am like advertised.

I can see that for any given date, there are 3 maximum temperature forecasts, a 24 hour max, a daytime max and an overnight max and they differ from each other.

Can anyone help me understand what's happening here?

And furthermore in the example above, the 24 hour forecasts that have, for example this:
"forecastStart": "2025-06-25T00:00:00Z" ... Can the 00:00:00Z be trusted literally? Or is it more the case that it's "2025-06-25" but the HMS got tacked on in a conversion?

What is the timezone parameter to your request? It looks like this is always UTC which might mean the timezone is not understood.

If my memory is right, we were just asking for the latitude and longitude, so it may very well be the case that without timezone it defaults to UTC (which makes sense because daytimeForecast starting 7Z is actually the evening in Australia).

As far as I can tell the documentation says that the timezone can be a string? What kind of string? Like "Australia/Melbourne", "AEDT", "UTC+10", any of the above? And how would I work that into the URL of my query? Thanks!

Unexpected timezone issues
 
 
Q