Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Date.prototype.toJSON()

  • 2 amsoshi
  • 0 sa na da wannan matsala
  • Amsa ta ƙarshe daga A Ka

more options

Unfortunately using a date type toJSON() result is not accurate. It first apply client timezone and then convert it to json string. In my scenario I am simply read from an API which return a none standard datetime string without its timezone (like "2020-11-21 00:00:00"), Then I try to convert it to a date using new Date("2020-11-21 00:00:00"). Then I use it in another web service but it apply my client timezone when I use JSON.stringify() method (or toJSON()). Does this behaviour is intentionally?


I read the other same question but I am not okay with it. https://support.mozilla.org/en-US/questions/1414380

Unfortunately using a date type toJSON() result is not accurate. It first apply client timezone and then convert it to json string. In my scenario I am simply read from an API which return a none standard datetime string without its timezone (like "2020-11-21 00:00:00"), Then I try to convert it to a date using new Date("2020-11-21 00:00:00"). Then I use it in another web service but it apply my client timezone when I use JSON.stringify() method (or toJSON()). Does this behaviour is intentionally? I read the other same question but I am not okay with it. https://support.mozilla.org/en-US/questions/1414380

All Replies (2)

more options

I started to Use (var myDate=new Date("2020-11-21 00:00:00");myDate.setHours(myDate.getHours()+6)) to compensate that effect!

Helpful?

more options

As I read in the web, Date constructor does not cover timezone but getters of date object consider client time zone. Altough I think to json is not a simple client side getter since it has z at the end. The same think apply to toISOString() method which also consider client time zone! Of course the other alternative for my scenario is myDate.format("yyyy-MM-ddTHH:mm:ssZ")

Helpful?

Yi tambaya

You must log in to your account to reply to posts. Please start a new question, if you do not have an account yet.