I think the confusion for English speakers comes from the phrases 'saat kac/kacta' (sorry don't have the right keyboard for the 'c'). Here the Turkish translates literally as 'what hour' where the standard English phrase is 'what time'. So to an English speaker there is one particular context in which 'time' translates as 'saat'.
Persian speaker here. Saat and zaman are Persian (but ultimately Arabic) cognates of the same word with the same meaning so I'll shed some light on this using etymology.
Zaman: a general time period
Saat: a specific time that you read on a clock, o'clock, or hour.
Vakit: moment or instance
Zaman = Is a very general time period. The level of its generalization is that which you see in history books. Like Paleozoic era, or the World War II period. Past, present, and future are a type of "zaman" as well. So, when talking about eras, periods, epochs... or even grammatical tenses, you should use zaman. Morning, afternoon, and night are words that need the usage of "zaman" instead of "saat". I hope you get the idea?
Saat = It can be a time device, such as a wristwatch or a clock. It is also a literal translation for hour. It can also mean "o'clock" , and is usually used to refer to a very specific time of the day. An objective answer is usually given with a saat statement such as "3:00 PM", rather than a vague one like "in the afternoon".
For moments, I think turks prefer to use "vakit" (arabic cognate). Oğle vaktı means "noon time".
edit: Correction on zaman and vakit examples.
Her saat: Every hour/watch
Herhangi bir saat: Any hour/watch
Her zaman: Everytime
Herhangi bir zaman: Anytime
That is the standard translation. But in some situations there may be overlaps. Forum example: 'You can't come here anytime you want.' can be translated as 'İstediğin her zaman buraya gelemezsin.'.