How can I deserialize Datetime json with correct timezone c#












0















My application consumes the APIs, one of the API returns the Datetime value with unix time format



ex: user.DateOfBirth = "/Date(476197200000+1100)/" 


The deserialize process is working well (deserialize<User> object) but when I display the datetime to GUI.



the UI displays this date as 2/Feb/1985
My expected is: 3/Feb/1985



My local environment displays correctly, it's 3/Feb/1985, but on UAT environment, it display less than 1 day (2/Feb/1985)



I'm using Newtonsoft.Json v10.x.x










share|improve this question





























    0















    My application consumes the APIs, one of the API returns the Datetime value with unix time format



    ex: user.DateOfBirth = "/Date(476197200000+1100)/" 


    The deserialize process is working well (deserialize<User> object) but when I display the datetime to GUI.



    the UI displays this date as 2/Feb/1985
    My expected is: 3/Feb/1985



    My local environment displays correctly, it's 3/Feb/1985, but on UAT environment, it display less than 1 day (2/Feb/1985)



    I'm using Newtonsoft.Json v10.x.x










    share|improve this question



























      0












      0








      0


      1






      My application consumes the APIs, one of the API returns the Datetime value with unix time format



      ex: user.DateOfBirth = "/Date(476197200000+1100)/" 


      The deserialize process is working well (deserialize<User> object) but when I display the datetime to GUI.



      the UI displays this date as 2/Feb/1985
      My expected is: 3/Feb/1985



      My local environment displays correctly, it's 3/Feb/1985, but on UAT environment, it display less than 1 day (2/Feb/1985)



      I'm using Newtonsoft.Json v10.x.x










      share|improve this question
















      My application consumes the APIs, one of the API returns the Datetime value with unix time format



      ex: user.DateOfBirth = "/Date(476197200000+1100)/" 


      The deserialize process is working well (deserialize<User> object) but when I display the datetime to GUI.



      the UI displays this date as 2/Feb/1985
      My expected is: 3/Feb/1985



      My local environment displays correctly, it's 3/Feb/1985, but on UAT environment, it display less than 1 day (2/Feb/1985)



      I'm using Newtonsoft.Json v10.x.x







      json.net






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 10:08









      James Z

      11.1k71835




      11.1k71835










      asked Nov 24 '18 at 4:42









      QuachNguyenQuachNguyen

      7611




      7611
























          1 Answer
          1






          active

          oldest

          votes


















          1














          Not sure how you are deserializing but you might want to look into how to parse using specific time zone.



          You can try this.



          microsoftDateFormatSettings = 
          new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
          DateTimeZoneHandling = DateTimeZoneHandling.Local};

          var items = JsonConvert.DeserializeObject<List<lstObject>>.
          (jsonString, microsoftDateFormatSettings);





          share|improve this answer
























          • Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

            – QuachNguyen
            Nov 24 '18 at 6:41











          • Can you show the snippet of your code?that’d be a great help.

            – Rushikesh Vyas
            Nov 24 '18 at 8:30













          • It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

            – QuachNguyen
            Nov 24 '18 at 10:13











          • So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

            – Rushikesh Vyas
            Nov 24 '18 at 20:02











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455200%2fhow-can-i-deserialize-datetime-json-with-correct-timezone-c-sharp%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Not sure how you are deserializing but you might want to look into how to parse using specific time zone.



          You can try this.



          microsoftDateFormatSettings = 
          new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
          DateTimeZoneHandling = DateTimeZoneHandling.Local};

          var items = JsonConvert.DeserializeObject<List<lstObject>>.
          (jsonString, microsoftDateFormatSettings);





          share|improve this answer
























          • Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

            – QuachNguyen
            Nov 24 '18 at 6:41











          • Can you show the snippet of your code?that’d be a great help.

            – Rushikesh Vyas
            Nov 24 '18 at 8:30













          • It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

            – QuachNguyen
            Nov 24 '18 at 10:13











          • So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

            – Rushikesh Vyas
            Nov 24 '18 at 20:02
















          1














          Not sure how you are deserializing but you might want to look into how to parse using specific time zone.



          You can try this.



          microsoftDateFormatSettings = 
          new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
          DateTimeZoneHandling = DateTimeZoneHandling.Local};

          var items = JsonConvert.DeserializeObject<List<lstObject>>.
          (jsonString, microsoftDateFormatSettings);





          share|improve this answer
























          • Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

            – QuachNguyen
            Nov 24 '18 at 6:41











          • Can you show the snippet of your code?that’d be a great help.

            – Rushikesh Vyas
            Nov 24 '18 at 8:30













          • It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

            – QuachNguyen
            Nov 24 '18 at 10:13











          • So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

            – Rushikesh Vyas
            Nov 24 '18 at 20:02














          1












          1








          1







          Not sure how you are deserializing but you might want to look into how to parse using specific time zone.



          You can try this.



          microsoftDateFormatSettings = 
          new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
          DateTimeZoneHandling = DateTimeZoneHandling.Local};

          var items = JsonConvert.DeserializeObject<List<lstObject>>.
          (jsonString, microsoftDateFormatSettings);





          share|improve this answer













          Not sure how you are deserializing but you might want to look into how to parse using specific time zone.



          You can try this.



          microsoftDateFormatSettings = 
          new { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
          DateTimeZoneHandling = DateTimeZoneHandling.Local};

          var items = JsonConvert.DeserializeObject<List<lstObject>>.
          (jsonString, microsoftDateFormatSettings);






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 24 '18 at 4:54









          Rushikesh VyasRushikesh Vyas

          111




          111













          • Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

            – QuachNguyen
            Nov 24 '18 at 6:41











          • Can you show the snippet of your code?that’d be a great help.

            – Rushikesh Vyas
            Nov 24 '18 at 8:30













          • It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

            – QuachNguyen
            Nov 24 '18 at 10:13











          • So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

            – Rushikesh Vyas
            Nov 24 '18 at 20:02



















          • Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

            – QuachNguyen
            Nov 24 '18 at 6:41











          • Can you show the snippet of your code?that’d be a great help.

            – Rushikesh Vyas
            Nov 24 '18 at 8:30













          • It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

            – QuachNguyen
            Nov 24 '18 at 10:13











          • So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

            – Rushikesh Vyas
            Nov 24 '18 at 20:02

















          Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

          – QuachNguyen
          Nov 24 '18 at 6:41





          Hello Rushikesh Vyas Thanks for your reply, yes, I have been serializing as your above suggestion, I also add ateTimeZoneHandling.Local but not success My Json is: "DateOfBirth":"/Date(784731600000+1100)/" My Customer has: [Description("The contacts date of birth.")] [DataMember(IsRequired = false)] public DateTime? DateOfBirth { get; set; } Could you help me in this case? Thank you

          – QuachNguyen
          Nov 24 '18 at 6:41













          Can you show the snippet of your code?that’d be a great help.

          – Rushikesh Vyas
          Nov 24 '18 at 8:30







          Can you show the snippet of your code?that’d be a great help.

          – Rushikesh Vyas
          Nov 24 '18 at 8:30















          It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

          – QuachNguyen
          Nov 24 '18 at 10:13





          It's exactly the same like you, the difference is using <T> object instead of List<object>, and microsoftDateFormatSettings change to your suggestion above Thank you

          – QuachNguyen
          Nov 24 '18 at 10:13













          So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

          – Rushikesh Vyas
          Nov 24 '18 at 20:02





          So do you see the correct value when you deserialize and UI control is showing wrong date? Or when you deserialize json you are getting incorrect information

          – Rushikesh Vyas
          Nov 24 '18 at 20:02


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53455200%2fhow-can-i-deserialize-datetime-json-with-correct-timezone-c-sharp%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

          Calculate evaluation metrics using cross_val_predict sklearn

          Insert data from modal to MySQL (multiple modal on website)