Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

Date.prototype.toJSON()

  • 2 답장
  • 0 이 문제를 만남
  • 최종 답변자: 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

모든 댓글 (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!

도움이 되셨습니까?

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

도움이 되셨습니까?

질문하기

글에 답글을 달기 위해서는 계정으로 로그인해야만 합니다. 계정이 아직 없다면 새로운 질문을 올려주세요.