JavaScript处理日期显示表单

JavaScript处理日期显示表单

 

 

以下是表单

---------------------------------------------------------------------------------------------------------------------------------------------------------- 

<tr>
     <td>
      出生日期
     </td>
     <td>
      <select id="year" onchange="addDay()">//当年份改变时,调用日期函数
       <option value="1987">
        1987
       </option>
      </select>
      年
      <select id="month" onchange="addDay()">//当月份改变时,调用日期函数
       <option value="01">
        01
       </option>
      </select>
      月
      <select id="day">
       <option value="01">
        01
       </option>
      </select>
      日
     </td>
    </tr>

 

---------------------------------------------------------------------------------------------------------------------------------------------------------- 

/*当加载页面时就加载日期处理函数*/
window.onload = function() {
 addYear();
 addMonth();
 addDay();
}
/*处理年*/
function addYear() {
 var year = document.getElementById("year");
 var num = new Date().getFullYear();//本地时间的年份
 for ( var x = num; x >= 1900; x--) {
  var option = document.createElement("option");
  option.innerHTML = x;//显示内容
  option.value = x;
  year.appendChild(option);//加载元素
 }
}
/*处理月*/
function addMonth() {
 var month = document.getElementById("month");
 for ( var x = 2; x <= 12; x++) {
  if (x < 10) {
   x = "0" + x;
  }
  var option = document.createElement("option");
  option.innerHTML = x;
  option.value = x;
  month.appendChild(option);
 }
}
/*处理日*/
function addDay() {
 var day = document.getElementById("day");
 day.options.length = 0;//清空旧的内容
 var year = document.getElementById("year").value;
 var month = document.getElementById("month").value;
 var num;//一个月的天数
 switch (month) {
 case '01':
  num = 31;
  break;
 case '02':
  num = getDay(year);//调用闰年处理函数
  break;
 case '03':
  num = 31;
  break;
 case '04':
  num = 30;
  break;
 case '05':
  num = 31;
  break;
 case '06':
  num = 30;
  break;
 case '07':
  num = 31;
  break;
 case '08':
  num = 31;
  break;
 case '09':
  num = 30;
  break;
 case '10':
  num = 31;
  break;
 case '11':
  num = 30;
  break;
 case '12':
  num = 31;
  break;

 }
 for ( var x = 1; x <= num; x++) {
  if (x < 10) {
   x = "0" + x;
  }
  var option = document.createElement("option");
  option.innerHTML = x;
  option.value = x;
  day.appendChild(option);
 }
}
/*方法一:判断是否是闰年,以返回2月的天数*/
function getDay(year) {
 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {//如果是闰年
  return 29;
 } else {
  return 28;
 }
}
/*方法二:判断是否是闰年,以返回2月的天数,另一种算法*/
function getFebDay(year) {
 var date = new Date(year, 2, 1);//得到传入的year年的三(2:表示月份的下标;1:表示当月的那一天)
 var now = date.getTime();//得到当天的12:00:00:000
 var newTime = now - 1000 * 60 * 60 * 12;//得到前天
 var newDate = new Date(newTime);
 var day = newDate.getDay();
 return day;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值