Timezone conversion in transform

Hi Everyone,

I am looking for solution to convert the date and time into particular time format, please note time Zone attribute we have been provided just we need to output attribute depending on the time zone given for example

Transform reads identity’s Time Zone.

Construct local timestamp at 23:59 of the selected date in that Time Zone.

Example :

Time Zone = “America/New_York”

Last Working Day = 2026‑04‑05

based on these two attributes we need to construct the value for example :

2026‑04‑06T03:59:00Z
(23:59 EDT → 03:59Z next day during EDT)

Hi @LearningStar

Might be helpful. Thanks

You could table format all timezones with a paired attribute of +/- number of hours.
Then take output and dateMath it to your existing Endtime.
That would do it.

what system is providing the timezone? is it able to also provide the timezone offset? my Workday team was able to give me the timezone offset as a calc field, and i’m able to use that with this lookup transform (this table contains all timezone offsets currently listed in the tz database):

"offset": {
    "attributes": {
        "table": {
            "0": "-0000",
            "1": "+0100",
            "2": "+0200",
            "3": "+0300",
            "4": "+0400",
            "5": "+0500",
            "6": "+0600",
            "7": "+0700",
            "8": "+0800",
            "9": "+0900",
            "10": "+1000",
            "11": "+1100",
            "12": "+1200",
            "13": "+1300",
            "14": "+1400",
            "-12": "-1200",
            "-11": "-1100",
            "-10": "-1000",
            "-9.5": "-0930",
            "-9": "-0900",
            "-8": "-0800",
            "-7": "-0700",
            "-6": "-0600",
            "-5": "-0500",
            "-4": "-0400",
            "-3.5": "-0330",
            "-3": "-0300",
            "-2": "-0200",
            "-1": "-0100",
            "3.5": "+0330",
            "4.5": "+0430",
            "5.5": "+0530",
            "5.75": "+0545",
            "6.5": "+0630",
            "8.75": "+0845",
            "9.5": "+0930",
            "10.5": "+1030",
            "12.75": "+1245",
            "default": "-0000"
        },
        "input": {
            "attributes": {
                "sourceName": "Workday",
                "attributeName": "Workday_Timezone__c"
            },
            "type": "accountAttribute"
        }
    },
    "type": "lookup"
},

you can then append that to a string in a static transform:

"value": "${termDate}T23:59:59$offset"

Thanks @sup3rmark for the suggestions but we are not getting the time zone offset we are getting only time zone as Time Zone = “America/New_York” from SuccessFactors based on the time zone we need to convert the end date into particular format which says local timestamp at 23:59 of the selected date in that Time Zone. This is the complete requirement which was provided by client, no offset we are getting from SuccessFactors

Manually build yourself a table then. I’m sure CBT can provide you a table format with the left side being the verbose timezone and the right being the numerical offset values

Hi @phil_awlings

Do you have any sample transform which I can use as reference as I am not sure how we can use the look up here and perform the conversions ?

Just change the country code to timezone:

                    "CountryZone": {
                        "type": "lookup",
                        "attributes": {
                            "input": {
                                "type": "reference",
                                "attributes": {
                                    "name": "Country Code - calculate"
                                }
                            },
                            "table": {
                                "default": "UTC+00:00",
                                "AF": "UTC+04:30",
                                "AX": "UTC+02:00",
                                "AL": "UTC+01:00",

I have this built for every country and every major city

i literally posted a sample transform. you just have to change the table to list out the relevant timezones.

Hi @phil_awlings this transform is the complete one how we are calculating the actual dates here ? Is this piece of transform which you have provided to me for reference, could you please provide me the complete one?