Months are 0 based in Javascript (0=January, 1=February etc), so when getMonth()
is called on the date 2014-05-04, it will return 4 not 5.
I've modified the line of code where you set dateFormatted
from:
var dateFormatted = date.getFullYear() +
"-" + (date.getMonth() < 10 ? "0" + date.getMonth() : date.getMonth()) +
"-" + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
to:
var dateFormatted = date.getFullYear() +
"-" + (date.getMonth() < 10 ? "0" + (date.getMonth()+1) : (date.getMonth()+1)) +
"-" + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
See an updated Fiddle here