3 ms·
A version for the US DST: http://jsfiddle.net/j7tf54xn/ http://jsfiddle.net/j7tf54xn/ It's the test spec that's wrong. On the day DST ends, the hour from 1:00
by dangrossman 11y ago
A version for the US DST: http://jsfiddle.net/j7tf54xn/ http://jsfiddle.net/j7tf54xn/
It's the test spec that's wrong. On the day DST ends, the hour from 1:00 to 1:59 is repeated twice, which gives you 25 hours. When DST begins, that day is only 23 hours long. MomentJS isn't doing anything strange here.
- finchisko 11y agoOk. I've been already punished on stackoverflow for this question. But what about moment isDSTShifted method? Doesn't seems working. The shift was on 2:00AM. But both moment('2015-25-10 2:00', 'YYYY-MM-DD HH:mm').isDSTShifted() moment('2015-25-10 3:00', 'YYYY-MM-DD HH:mm').isDSTShifted() return false
- dangrossman 11y agoThose are both supposed to return false. isDSTShifted() tells you whether the datetime you entered was shifted by the library because it doesn't exist in daylight savings time. For example, in pseudocode, if you try to "add 1 day" to "2:30AM the day before DST begins", it'll be shifted because there is no 2:30AM on the resulting date. The clock skips from 1:59AM to 3AM that day. Here's a fiddle showing isDSTShifted() working with the US DST start (I don't know what date to use for your location): http://jsfiddle.net/d9tz0tv1/ http://jsfiddle.net/d9tz0tv1/ I think you're looking for isDST()?
- finchisko 11y agoOk you're test is failing in my timezone. But it is OK, as far I understand (still not 100% sure if I do) :-). But: moment('2015-25-10 2:00', 'YYYY-MM-DD HH:mm').isDST() moment('2015-25-10 3:00', 'YYYY-MM-DD HH:mm').isDST() return false. That's not correct in my TZ. Confused.
- finchisko 11y agoDo I have to call something like moment.tz() before isDST()?