I tried to get the day of a week with the getDay()
function of the Date
object in Javascript.
In theory it works fine, but sometimes there is a delay in the output, so if the function should return a "4", it returns a "1".
E.g.
var date= new Date("2009","04","30");
alert(date.getDay()); // the function returns 6, should return 4
var date= new Date("2009","05","01");
alert(date.getDay()); // the function returns 1, should return 5
I really don't know why this happens. This example comes from IE8. FF 3 behaves similar, but returns different values. The first one is 7, not 4. The second one is just like in IE8.
Any ideas why this happens?
Because the month number is zero based, not one based.
new Date("2009","04","30")
creates a Date
object for the 30th of may, not the 30th of april.
(The reason why it's zero based is probably historic, i.e. it behaves the same as some method in a different system way back in time...)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With