最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - toISOString() return the wrong data at first april - Stack Overflow

matteradmin6PV0评论

I use the method toISOString() to convert a date into a ISO String

 console.log(date);
 var x = date.toISOString();
 console.log(x);

My input date-object contains the following data Wed Apr 01 2020 01:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)

The output of toISOString() is 2020-03-31T23:00:00.000Z

I try to find a solution and explaination about this strange result, because it happens only by the 1st of April - and this is not an april joke. Does somebody can explain the behavior? Or can give me a hint, how I can get the correct value?

I use the method toISOString() to convert a date into a ISO String

 console.log(date);
 var x = date.toISOString();
 console.log(x);

My input date-object contains the following data Wed Apr 01 2020 01:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)

The output of toISOString() is 2020-03-31T23:00:00.000Z

I try to find a solution and explaination about this strange result, because it happens only by the 1st of April - and this is not an april joke. Does somebody can explain the behavior? Or can give me a hint, how I can get the correct value?

Share Improve this question asked Feb 28, 2018 at 14:28 michael-mammutmichael-mammut 2,8035 gold badges31 silver badges49 bronze badges 6
  • How is Date set? – epascarello Commented Feb 28, 2018 at 14:30
  • 2 Different timezones, but the date is the same. – Federico klez Culloca Commented Feb 28, 2018 at 14:31
  • So what's the problem? The ISO string is in UTC while your input date is in GMT+2. They are the same date. – Derek 朕會功夫 Commented Feb 28, 2018 at 14:31
  • There is no problem, both represent exactly the same instant in time, just with different offsets to UTC – phuzi Commented Feb 28, 2018 at 14:32
  • 1 “because it happens only by the 1st of April - and this is not an april joke. Does somebody can explain the behavior?” - you might want to go check when DST ends in 2020 ... – C3roe Commented Feb 28, 2018 at 14:32
 |  Show 1 more ment

1 Answer 1

Reset to default 9

Simple. Your timezone is +0200 GMT, and toISOString() gives you Zulu time. Everything is correct here.

Post a comment

comment list (0)

  1. No comments so far