Hey @radmitry! I'll do my best to explain how timezone is working as of today.
I'm currently in the GMT+2 timezone in Poland. I've set my project to be GMT+8 Australia/Perth as in your example.
I'm setting up an event to start at 12:30p and ends at 02:30p for today (June 27, 2017).
Now, the event has been stored in the database in GMT+0:
You can see, that that the time is exactly 8 hours away from Australia's timezone as it's correctly stored as GMT+0.
Going to the published website, I see same dates I've set:
Switching timezone now (manually in the system settings) to San Jose, which is GMT-7 and seeing same website gives me this:
The core functionality is that once you set the timezone in System Settings manually (change it to something else, save, refresh, change to Australia/Perth, save) you should always see dates and times given in the timezone you have set it to, as we store them in GMT+0 and show them with your timezone applied to it.
Now... When it comes to published/created on times. I'm still in GMT-7 timezone and I've created same event. I've also added created on and published on fields on the canvas so you can see what's going on in here. Because I'm in GMT-7 and it's 3:31a in here, on saving the collection item it gets translated to GMT+0, which is
Already 7h difference Since we have timezone set to GMT+8 we can see in Designer time for published and created on shown in that timezone:
If I were to view this site (still in San Jose) I will get the same result of 6:42p and 6:43p for created and published dates.
If I switch to my timezone (GMT+2) and refresh published site I'm also getting same time. Same thing for if I refresh Designer.
I really hope this bring more light onto how Timezones are working and what is being shown and stored for your website. Let me know if you need some more details or have some questions about it