Server Timezone

I have a server (AWS Windows) for the client and it’s timezone is UTC.

For a general website, I have always set the server timezone to UTC.

However, this is running a webapp for the company’s employees and clients. And 99.9% of its clients are in the same state (NSW). I haven’t been asked to handle a timezone and when I asked if I needed to handle (in my original meeting), my question did not get a reply. So, all bookings will be made in AEST/AEDT anyway. And the time is taken from their browser.

For a VCL app, handling the timezone in the code would be a dawdle. Being a TMSWebcore app, its a little more tricky. I fear that if I miss converting it specifically somewhere, then its a problem. And I generally like to eliminate developer errors.

So, I am on the fence. I can try a class helper for TDateTimeField that does this in GetText and SetText. If this works, then its easy. if it doesn’t then I have to specifically handle it for at least 4 fields in each form (and reports and the scheduler).

Are there any compelling reasons to leave the server in UTC (apart from daylight saving) ? Although thats a false argument, because the problem remains. The user sees doubling of time for an hour either way. OTOH, they are not a night operation outift, so no user generated events will in the early morning.

Thinking about it further,

  • All user settable datetime fields are using the users local time already.
  • The only fields that are in UTC are server settable fields. And these are Created_At and Modified_At fields in each record. As these happen on the server in triggers.

So, I could leave the server alone and just handle these fields for conversion.