When a user publishes and schedules a workflow on the gallery, they have the option to specify their time zone to ensure that the execution of the workflow occurs at the appropriate time. However, if the workflow invokes the DateTimeNow() function, the captured time is in UTC. If it is important for the end-user to have that time that is captured be in their local time zone, they will need to manually (either within the workflow or as a user input for an Analytic App) specify the offset from UTC.
Instead, there should be an Engine variable that captures the offset (or the time zone) that the workflow was executed from (or scheduled in), which can dynamically adjust the DateTimeNow() output appropriately.