The device talking to TWX SDK is outputting correct local time and in the program I escpecially set
The timezones are checked and correct in
- Current browser
- Device communicating to ThingWorx SDK
- ThingWorx server
They are even all in the same timezone. Got no idea where the -3 hours come from.
Finally had time and remembered to test this.
Logged the time parameter and while the log timestamp is 2015-10-19 16:05:11, it printed: Mon Oct 19 2015 19:05:13 GMT+0300 (EEST).
I'm guessing the two seconds are from clocks not in sync while the printed value should be the time launched from software and log timestamp the time the service was run (so it should be earlier or the same at latest).
I finally fixed this by setting: time.setHours(time.getUTCHours()); before adding the row.
Doesn't seem like a great solution but the TWX service assumes the datetime is always current timezone (GMT+3) no matter what I timezone I set in .NET program.