You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Noticed yesterday that dates were coming back with kind Local.
It is my understanding dates from salesforce are all provided as UTC but because of their format (e.g. 2017-05-30T21:10:25.000+0000) the JsonConvert.DeserializeObject by default will attempt some kind of conversion to Local.
It seems like a simple fix (that worked for me):
In JsonClient.cs wherever the JsonConvert.DeserializeObject<T>(...) is being used to deserialize the response, replace with:
JsonConvert.DeserializeObject<T>(..., new JsonSerializerSettings { DateTimeZoneHandling = DateTimeZoneHandling.Utc })
The text was updated successfully, but these errors were encountered:
crochik
changed the title
Dates are being deserialized with kind Local.
Dates are being deserialized with kind Local (with potential fix)
Feb 11, 2025
Are you using DateTime or DateTimeOffset in your model objects? I did a quick test and DateTimeOffset is parsing correctly. I'll see if I can add that change without breaking DateTimeOffset parsing.
hi @anthonyreilly. I actually don't define models and use the ExpandoObject so the JsonConvert will create DateTime properties for Date looking properties.
hi @anthonyreilly. I actually don't define models and use the ExpandoObject so the JsonConvert will create DateTime properties for Date looking properties.
Thanks, I'm writing some tests now, so I'll include an ExpandoObject case as well
Noticed yesterday that dates were coming back with kind
Local
.It is my understanding dates from salesforce are all provided as UTC but because of their format (e.g.
2017-05-30T21:10:25.000+0000
) theJsonConvert.DeserializeObject
by default will attempt some kind of conversion to Local.It seems like a simple fix (that worked for me):
In
JsonClient.cs
wherever theJsonConvert.DeserializeObject<T>(...)
is being used to deserialize the response, replace with:The text was updated successfully, but these errors were encountered: