Application Locale Time



As a developer, 

I need to have a set locale time action (as we can set language locale),

So that users can see application time relative to their locale.


Currently we need to adapt every place where time appear in the application, with a calculated function matching user locale.

Ideally we would have a set time locale action which would allow easily to adapt locale time saving lots of time for developers.


High due to saving time

Occurs frequent in global apps

Created on 2 Aug 2018
Comments (7)

I've worked on a number of apps that are used around the world, or in multiple timezones. To me, there are two things that would make life easier:

1. a way to automatically set timezone and have times be converted to the user's timezone

2. a way to automatically set a "time locale" and have dates/times be formatted to the user's "time locale"

#2 is the relatively easy one. I suspect that #1 runs into a bunch of edge cases where the system isn't sure if it should be using a value "as entered" or "converted to UTC from the user's 'time locale'". I know that in the applications I used, we had to very carefully understand (usually with a naming convention on the fields) or a date time was user-entered data or system-generated data, to know whether it should be converted or not, and when. Very tricky stuff!


I once worked on a call center/dispatch application for a major Canadian courier company where any one call could involve up to four different time zones. I discovered a lot about time zone edge cases e.g. some cities in Canada work in the adjacent provinces time zone for business reasons, some cities in the world work in alternate time zones than their province/state/country for business reasons.

So to be 100% accurate you would need a city location to be able to allocate a time zone, although admittedly 99% of the time its not required.

This functionality is pretty simple to create though with the forge TimeZone component and a couple of simple functions.

Changed the category to Builtin & User functions

Changed the category to Backend

Working around timezones is a pain in outsystems. Everything just tends towards UTC. 

ALL well engineered applications use UTC, OutSystems or not. And OutSystems is only UTC oriented in their cloud. Get an on-prem installation, and it is oriented to whatever timezone your DB server is in.

As someone who spent 3 years working on a global application that had a DB server that originally started in US Eastern Standard Timezone, I promise you that you should never have your DB in anything other than UTC and it is a big mistake to do anything else.


Yes that's the best way! Resuming:

  • Global applications need a common conversion base time as UTC (for date storage). 
  • Global application users should have an option to personalize his locale (for date view).