Windows 10 reached EOS (end of support) on October 14, 2025. If you are on Windows 10, see this article.

חיפוש בתמיכה

יש להימנע מהונאות תמיכה. לעולם לא נבקש ממך להתקשר או לשלוח הודעת טקסט למספר טלפון או לשתף מידע אישי. נא לדווח על כל פעילות חשודה באמצעות באפשרות ״דיווח על שימוש לרעה״.

מידע נוסף
Archived

Date.prototype.toJSON()

A Ka replied
A Ka

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

כל התגובות (2)

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

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")