重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
script
创新互联建站专注于于田企业网站建设,响应式网站,商城网站制作。于田网站建设公司,为于田等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
function days(month){
var _d = -1;
var year = new Date().getFullYear();
var sDate = '';
if(!!month) {
month = parseInt(month);
if(month==12)
_d = 31;
else {
if(month==2) {
var _t = prompt('Input year:');
if(_t) {
year = _t;
}
}
sDate = year + '-' + (month + 1) + '-01';
var tempDate = new Date(sDate);
tempDate.setDate(tempDate.getDate()-1);
_d = tempDate.getDate();
}
}
return _d;
}
function test() {
var month = document.getElementById('month').value;
var _d = days(month);
alert(_d);
}
/script
input id="month" type="text" value="" /
input type="button" value="RUN" onclick="test()" /
能不能看懂就看你的造化了。
javascript中的月份日期要格式化处理的,从日期中取出月份后做如下处理就可以表示成两位数了:
var d = new Date();
var formatedMonth = ("0" + (d.getMonth() + 1)).slice(-2);
或者也可以这么处理:
Date.prototype.getMonthFormatted = function() {
var month = this.getMonth() + 1;
return month 10 ? '0' + month : '' + month; // 如果是1-9月,那么前面补0
}
script
alert("天数为"+new Date(Number(prompt("请输入年份")),Number(prompt("请输入月份")),0).getDate()+"天");
/script
javascript 自带有个对象(构造函数),Date().下面是代码:
var myDate = new Date(); //实例一个时间对象;
myDate.getFullYear(); //获取系统的年;
myDate.getMonth()+1; //获取系统月份,由于月份是从0开始计算,所以要加1
myDate.getDate(); // 获取系统日,
myDate.getHours(); //获取系统时,
myDate.getMinutes(); //分
myDate.getSeconds(); //秒
1. 你的代码:
1.1 首先要保证画面一加载,就要执行下拉的初始化方法,所以先要在body标签里添加onload
事件,指定好你的初始化方法;
1.2 因为是循环添加下拉的Option,所以Option对象不能在循环外面只new一次,那样的会会造
成同一个对象在下拉中添加多次,从而出错。你代码的年、月下拉都是因为这样出错的。只
要修改成每循环一次就new一个新的Option对象就可以了;
你的代码修改如下:
html
head
title 年月日/title
script type="text/javascript"
function printBirthday(){
document.forms[0].selectDay.length=0;
var tempDate = new Date();
var y = tempDate.getFullYear();
var yearOption;
for (var i = (y-30); i (y+30); i++) {
yearOption=new Option(); //每次循环都重新new 一个Option对象
yearOption.text=i+" 年";
document.forms[0].selectYear.add(yearOption);
}
var monthOption;
for (i=1;i=12;i++) {
monthOption =new Option(); //每次循环都重新new 一个Option对象
monthOption.text=i+" 月";
document.forms[0].selectMonth.add(monthOption);
}
}
/script
/head
body onload="printBirthday();"
form name="formBirthday" action="" method="post"
select name="selectYear" size="" onchange="printBirthday()" /select
select name="selectMonth" size="" onchange="printBirthday()" /select
select name="selectDay" size="" /select
/form
/body
/html
2.你代码里的日期也没添加,这个好像要涉及到什么闰年、闰月之类的,我按照自己的思路写了一下代码,你参考着玩吧!
html
head
script language="javascript"
var ddlYear = null;
var ddlMonth = null;
var ddlDay = null;
var AOBJ_CurrentDate = null;
function Window_Load(){
ddlYear = document.getElementById("ddlYear");
ddlMonth = document.getElementById("ddlMonth");
ddlDay = document.getElementById("ddlDay");
AOBJ_CurrentDate = new Date();
//绑定数据
Year_Bind();
Month_Bind();
Day_Bind();
//设置Change事件
ddlYear.onchange=Day_Bind;
ddlMonth.onchange=Day_Bind;
//设置默认值(当前日期的年、月、日作为下拉的默认值)
ddlYear.value = AOBJ_CurrentDate.getYear();
ddlMonth.value = AOBJ_CurrentDate.getMonth() + 1;
ddlDay.value = AOBJ_CurrentDate.getDate();
}
function Year_Bind(){
var intCurrentYear = AOBJ_CurrentDate.getFullYear();
for(i = intCurrentYear + 30; i = intCurrentYear - 30; i -- ){
ddlYear.options.add(new Option(i + " 年",i));
}
}
function Month_Bind(){
for(i = 1; i = 12; i++ ){
ddlMonth.options.add(new Option(i + " 月",i));
}
}
function Day_Bind(){
//取得当前月的总天数
var objDate = new Date(ddlYear.value,ddlMonth.value ,"0");
var totalDaysInMonth = objDate.getDate();
//绑定下拉
ddlDay.options.length=0;
for(i = 1; i = totalDaysInMonth; i++){
ddlDay.options.add(new Option(i + " 日",i));
}
}
/script
/head
body onload="Window_Load();"
select id="ddlYear" /select
select id="ddlMonth" /select
select id="ddlDay" /select
/body
/html
3. 实在是忍不住了,严重鄙视 xd89910wz !!