Iotellect is a distributed system. In a large Iotellect installation, different components may be deployed in several countries or even on several continents. Thus, Iotellect Server, users, and Devices may be located in different time zones. You have to configure time zones properly when setting up the system. Once you do that, timestamps will be automatically displayed in proper timezones during system operation.
Here is a list of principles used by Iotellect when operating in multiple time zones:
The Time Zone for every user is defined in the user account settings. If a user's time zone is set to Not Selected, the user is assumed to be located in server's timezone. By default, the time zone for new users is Not Selected.
The Time Zone for every Device is defined in the Device account settings. If a device's time zone is set to Not Selected, the device is assumed to be located in server's timezone. By default, the time zone for new Devices is Not Selected.
Internally, Iotellect Server stores all date/time values in UTC.
All timestamps serialized and transferred via Iotellect Protocol are encoded/decoded into strings using UTC timezone.
When timestamps are shown to the user in Iotellect Client or Web UI, the local time in the User's time zone is used. If user's time zone is Not Selected, all timestamps in Web UI are shown using the server's Time Zone; all timestamps in Iotellect Client are shown using default time zone of the PC running Iotellect Client.
The Time zone defined in the operating system running Iotellect Server is used only once: to set a default time zone for the Iotellect Server. Once that's done, only the time zone defined in the server settings is used.