Do you know more efficient approach? Maybe some SQL script will help or some batch process?
Use xtk function AddHours() within an update activity.
Suppose we can assume that your current timezone is 'A' and planning to convert to 'B',
Make changes in update activity like:
1.) If A is more time compare to B then
SubHours($datetime(vars/XYZ) , C)
1.) If B is more time compare to A then
AddHours($datetime(vars/XYZ) , C)
Here XYZ is the variable name you are using in the workflow and 'C' is the difference between the two time zones.
Hope you are clear with the above scenario.
Actually, the daylight time saving is correctly managed by both servers (applicative and MTA) and database layer and its own server, and so by Adobe Campaign software, if the data type for datetime elements have been set to multi-zone.
Hence, please check that carefully in the Adobe Campaigns options.
But sometimes it can happen that the problem arises if there are not synchronised time to worldwide clock (NTP protocol) or bad time settings).
If the Adobe Campaign options have not been set to multi-zone, please ask for technical operation to update/migrate your DB, it would far more convenient for you. But in the meanwhile, I don't see other solutions than manual and local calculations
Note: Use expression (List of functions) like date +/- the time zone which you are expecting (Use 'Taken into account if' for better results).
Thank you All for your tips. FYI I decided to use simple approach: choose proper time zone in workflow's properties. With this settings time is converted into desired time zone directly in Data extraction (file) activity without any additional code (so I'm not saving it in temp table).
Venu, I have additional questions to your post:
- What is this option name?
- How properly use 'Taken into account if' ?