The date is fine in your JSON file, the date is converted to UTC when loaded. That seems to be an issue when reading the JSON file. I don't know that you can change that behavior but you could adjust your derived column expression to produce the output you want I think. Something like this maybe: convertFromUtc(<date>, '<desired timezone>'), 'zzz')
The problem is that Date(...)
is a .NET serializer format and not a standard format. I'm assuming you're trying to solve this issue because the UTC value being passed to the API is failing the call but the .NET serializer should be able to handle that format so maybe this isn't an issue after all.
But if the API really does require this very specific format then you're in for some extra code. You cannot get the total seconds since 1970 from the date directly. You have to calculate that value and it must be done against the date in the time zone format you want. Then you can build a string to produce the final output. Just taking a guess here on what kind of expression you'd need.
localTime = convertFromUtc(<date>, '<desired timezone>')
concat('\\Date(', div(sub(ticks(localTime), ticks('1970-01-01Z')), 10000), formatDateTime(localTime, 'zzz'), ')/')
Ideally you can calculate the localTime for a row into a derived column and then create another derived column that relies on it otherwise you'll have to put that entire expression in each place it is needed. Here's the general idea though.