After I select the month list item, I get the year value and month value, and calculate the date value of the 1st of the month and the date value of the last day of the month.
The correct code is as follows:
< script language="javascript">
function selDate(y, m)
{
//Output the string of the 1st of the month
document.form1.startDT.value=y "-" m " -1";
//Calculate the year (y) and month value (m) of the next month
if(m==12)
{
y ;
m=1;
}
else
{
m ;
}
//Generate the Date value for the 1st of the next month
var dt=new Date(y, m-1, 1); //Month value 0--11
//One day difference = 86400000, convert the 1st of the next month into a numerical value, and then subtract, we get the Date value of the last day of the previous month
var n=Date. parse(dt);
n -= 86400000;
var dt1=new Date(n);
//Output the last day of the month date string
document.form1.stopDT.value=dt1. getYear() "-" (dt1.getMonth() 1) "-" dt1.getDate();
}
Starting I will "var dt =new Date(y, m-1, 1);" is written as "var dt=new Date(y, m, 1);". The last sentence "dt1.getMonth()" does not add 1. As you can imagine, the result is "2010-2-28", but the output is "2010-1-28", and the output of "2010-1-31" is "2010-0-31".
I felt confused at first. After trying more, I found the error pattern and found that the month value range is "0-11" instead of "1-12".
I hope this article will remind me next time I don’t use JS for a while.
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn