js 应用

JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个月的最后一天("xx"月的最大取值是69,题外话),如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,太方便了!!所以,我们想得到选择年选择月有多少天的话,只需要

var temp=new Date("选择年/选择月+1/0");

alert(temp.getDate());
就可以了,是不是很方便?校验的话,也可以用这个方法。

下面是使用JS编写的获取某年某月有多少天的getDaysInMonth(year, month)方法:

function getDaysInMonth(year,month){
month = parseInt(month,10)+1;
var temp = new Date(year+"/"+month+"/0");
return temp.getDate();
}


===============================================================================
<%
String[] weekdays={"","日","一","二","三","四","五","六"};
String[] days=new String[42];
for(int i=0;i<42;i++)
days[i]="";
Calendar cal=Calendar.getInstance();
cal.add(Calendar.MONTH, 1);// 减一个月
// GregorianCalendar currentDay = new GregorianCalendar();

int year= cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH);
int today=cal.get(Calendar.DAY_OF_MONTH);
int weekday=cal.get(Calendar.DAY_OF_WEEK);

String now=year+"年"+(month+1)+"月"+today+"日"+" 星期"+weekdays[weekday];

Calendar thisMonth=Calendar.getInstance();
thisMonth.set(Calendar.MONTH, month );
thisMonth.set(Calendar.YEAR, year );
thisMonth.setFirstDayOfWeek(Calendar.SUNDAY);
thisMonth.set(Calendar.DAY_OF_MONTH,1);

int firstIndex=thisMonth.get(Calendar.DAY_OF_WEEK)-1;
int maxIndex=thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);
for(int i=0;i<maxIndex;i++){
days[firstIndex+i]=String.valueOf(i+1);
}
%>

<html>
<head>
<title>工作日设定</title>
<script language="javascript" src="s/jquery.min.js"></script>
<script language="javascript">
$(function(){


var days=new Array();

$("td").bind("dblclick",function(){
//alert($(this).attr("background-color));
});

$("td").click(function(){
//点击的时候不断切换

//alert(typeof($(this).text()));
//alert($(this).attr("background-color"))

var temp=$(this).text();


if(temp==''){}
else{

var num=days.length;
for (var i = 0; i < days.length; i++) {
if (days[i] == temp) days.splice(i,1);
}
if(num==days.length)
days.push(temp);
days.sort();
$(this).toggleClass("highlight");
alert(days.toString())
}
});

});
function look(){
//var yy=$("td[background-color=red]").size();
var yy=$("td").size();
alert(yy);
}
</script>

<script type="text/javascript">

</script>
</head>
<body >
<div>
<table width="800" border="0" align="center" cellspacing="1" >

<tr>
<th scope="col">周期日</th>
<th scope="col">周期一</th>
<th scope="col">周期二</th>
<th scope="col">周期三</th>
<th scope="col">周期四</th>
<th scope="col">周期五</th>
<th scope="col">周期六</th>
</tr>
<tr height="4"><td colspan="7"></td></tr>
<% for(int j=0;j<6;j++) { %>
<tr>
<%
for(int i=j*7;i<(j+1)*7;i++) {
if((i-firstIndex+1)==today){%>
<td width="30" height="23" align="center" bgcolor="gray" style="border:1 solid"><font color="#FFFFFF"><b><%=days[i]%></b></font></td>
<% }else{ %>
<td width="30" height="23" align="center" style="border:1 solid"><%=days[i]%></td>
<% }
}%>
</tr>
<% } %>
<tr height="10"><td colspan="7" > 红色为假期。。</td></tr>
</table>
</div>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值