I have been using DateTime variables as InArgument to trigger individual workflows and the program has been work well until early this week.
But it is only found recently that the value of InArgument is recognized as GMT time, instead of my computer’s local time (time zone GMT +8:00).
Attached below is a simple workflow, with one InArgument and one OutArgument. The value of InArgument (2020-10-30 10:00:00) is supposed to be my local time GMT +0800, same as the value of function Now.
This is the parameter defined in the Process from Orchestrator, which is exactly the same as that in Studio.
The job details below shows that the value of InArgument (10:00hr) was somehow treated as GMT time and converted to GMT +0800 as 18:00hr.
However, this is not specifically shown in the log message below.
May I know is my understanding above correct, or is this just a bug of the new version of the UiPath?
Further to the example above, I tried to convert both date time values of InArgument (10/30/2020 10:00am) and OutArgument (system’s time obtained by function Now) to UTC time using TimeZoneInfo.ConvertToUTC method.
I run the same workflow in both Studio and Orchestrator and found that both Studio and Orchestrator tread system time stored in OutArgument as local time (UTC +8:00). As of the time of InArgument, Studio takes it as local time while Orchestrator recognizes it as UTC time.
Please see the images below as highlighted.
Results in Studio:
Results in Orchestrator:
That’s why I find it very confusing.
Thank you and look forward to your advices.