📄 selectdate.js
字号:
function displaydate(myYear, myMonth, myDate ) {
var i,j,k,l;
monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
monthDates2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var newDateLen;
var oldDateLen = myDate.length;
var yy = myYear.options[myYear.selectedIndex].value
var mm = myMonth.options[myMonth.selectedIndex].value
var dd = myDate.options[myDate.selectedIndex].value
if( checkPeakYear(yy) == true){ newDateLen = monthDates2[mm-1] }
else { newDateLen = monthDates[mm-1] }
if ( newDateLen < oldDateLen ) {
for ( k=oldDateLen ; k>newDateLen; k--){
if(myDate.options[k-1].selected) myDate.options[newDateLen-1].selected=true;
myDate.options[k-1] = null;
}
}
else if(newDateLen > oldDateLen ){
for(l=0;l<oldDateLen && !myDate.options[l].selected; l++){;}
for(k=oldDateLen; k<newDateLen; k++){
newOption = new Option(k+1, k+1, false, false);
myDate.options[k] = newOption;
}
myDate.options[l].selected=true;
}
}
function displaydateForMix(myYear, myMonth, myDate ) {
var i,j,k,l;
monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
monthDates2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var newDateLen;
var oldDateLen = myDate.length;
var yy = myYear.options[myYear.selectedIndex].value
var mm = myMonth.options[myMonth.selectedIndex].value
var dd = myDate.options[myDate.selectedIndex].value
var yyNoVal = false
var mmNoVal = false
if(isNaN(parseInt(yy)) || parseInt(yy)<=0 ) yyNoVal = true
if(isNaN(parseInt(mm)) || parseInt(mm)<=0 ) mmNoVal = true
if(yyNoVal || mmNoVal) {
if(!mmNoVal) {newDateLen = monthDates[mm-1] }
else newDateLen = monthDates[0]
}
else {
if( checkPeakYear(yy) == true ){ newDateLen = monthDates2[mm-1] }
else { newDateLen = monthDates[mm-1] }
}
newDateLen = newDateLen + 1
if ( newDateLen < oldDateLen ) {
for ( k=oldDateLen ; k>newDateLen; k--){
if(myDate.options[k-1].selected) myDate.options[newDateLen-1].selected=true;
myDate.options[k-1] = null;
}
}
else if(newDateLen > oldDateLen ){
for(l=0;l<oldDateLen && !myDate.options[l].selected; l++){;}
for(k=oldDateLen; k<newDateLen; k++){
newOption = new Option(k, k, false, false);
myDate.options[k] = newOption;
}
myDate.options[l].selected=true;
}
}
function validateDate(yy, mm, dd)
{
var monthDates = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if( yy <=0 || mm <= 0 || mm > 12 || dd <= 0 || dd > 31 ){
return false
}
//check month dates. if month is not Feb, month dates are not changed
if(mm != 2)
{
if(dd > monthDates[mm - 1]) { return false }
}
else {
//if month=2, (peak year or not)
isPeakYear = checkPeakYear(yy)
var maxDates = monthDates[mm-1]
if( isPeakYear == true ) { maxDates = 29 }
if( dd > maxDates ) { return false }
}
return true
}
function checkPeakYear(yy)
{
if(yy % 4 == 0) {
if( yy % 100 != 0) { return true }
else if( yy % 400 == 0) { return true }
}
return false
}
// return 1 : if date1 is later than date2
// return 0 : if date1 is equal to date2
// return -1: if date1 is earlier than date2
function compareDates(yy1, mm1, dd1, yy2, mm2, dd2)
{
if(yy1 > yy2) { return 1 }
else if(yy1 < yy2) { return -1 }
else if(yy1 == yy2){
if(mm1 > mm2) { return 1 }
else if(mm1 < mm2) { return -1}
else if(mm1 == mm2) {
if(dd1 > dd2) {return 1}
else if(dd1 < dd2) {return -1}
else if(dd1 == dd2) { return 0 }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -