我的第一个工作啊 请大家帮帮不成熟的我吧 我的人生 看你们得了

解决方案 »

  1.   


     <script language=JavaScript>
       function str_week(y,m,d){ 
       var a=7; // 用来保存计算得到的星期几的整数
       var str_date="";
       if((parseInt(m)==1)||(parseInt(m)==2))//如果是一月或二月进行换算
       {
        m+=12;
        y--;
       }
       a=parseInt(parseInt(d)+2*(parseInt(m))+3*(parseInt(m)+1)/5+parseInt(y)+(parseInt(y))/4-(parseInt(y))/100+(parseInt(y))/400)%7;   //得到的星期几的整数
       switch (a){ 
        case 0:
         str_date="星期一";
         break;
        case 1:
         str_date="星期二";
         break;
        case 2:
         str_date="星期三";
         break;
        case 3:
         str_date="星期四";
         break;
        case 4:
         str_date="星期五";
         break;
        case 5:
         str_date="星期六";
         break;
        case 6:
         str_date="星期日";
         break;
       }
       return str_date; 
    }
    alert(str_week(2010,1,10)); 
    随便找了下,你要学会用百度和Google好吧..
    上面找的是求出某年某日是星期几..你问题说的也不是很清楚,如果你要求2000年12月,第一个星期六是多少号
    先用上面的方法,可以得到2000年12月1号是星期几,算出是(星期五),
    然后该月第一个星期六.不就是12,2号了.加一天就是了....
      

  2.   


    <%@ page language="java" pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <style>
    input{
    width:100px;
    }
    </style>
    <body>
    年: <input type="text" id="year" onkeydown="return test('year');">
    <em>只能输入4位年份数字</em><br>
    月: <input type="text" id="month" onkeydown="return test('month');">
    <em>只能输入1-12月份数字</em><br>
    周: <input type="text" id="week" onkeydown="return test('week');">
    <em>只能输入数字1-5表示第几周</em><br>
    期: <input type="text" id="weekday" onkeydown="return test('weekday');">
    <em>只能输入数字1-7表示星期几</em><br>
    &nbsp;<input type="button" id="btn" value="计算" onclick="done()">&nbsp;
    日: <input type="text" id="day" readonly="readonly">
    </body>
    <script language="JavaScript">
    var $ = function(tag){
    return document.getElementById(tag);
    }
    String.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/ig,'');
    }
    //只能输入4位年份,1-12月份,1-5周,1-7期
    function test(type){
    var flag = false;
    if(!type || type.trim().length==0){
    alert("无法确定要验证的类型");
    return flag;
    }
    var key = event.keyCode;
    if(key==8){
    flag = true;
    }else{
    if (key > 47 && key < 58) {
    switch (type) {
    case "year":{
    if (/^\d{0,4}$/.test(event.srcElement.value + (key - 48))) {
    flag = true;
    }
    }
    break;
    case "month":{
    if(/^([1-9]|1[0-2])$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    case "week" :{
    if(/^[1-5]$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    case "weekday":{
    if(/^[1-7]$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    default:{alert("无法确定要验证的类型")}break;
    }
    }
    }
    return flag;
    }
    //计算
    function done(){
    var rd;
    var y = $("year").value;
    if(!y || y.length<4 ){
    alert("请输入正确的4位年份!");
    return;
    }
    var m = $("month").value;
    if(!m || m.length==0){
    alert("请输入1-12月份!");
    return;
    }
    var w = $("week").value;
    if(!w || w.length==0){
    alert("请输入1-5星期数");
    return;
    }
    var wd = $("weekday").value;
    if(!wd || wd.length==0){
    alert("请输入1-7星期几");
    return;
    }
    var c = y.substring(0,2);
    y = y.substring(2);
    m = m *1>2?m:m*1+12;
    var fw = (y*1 + parseInt(y*1/4) + parseInt(c*1/4) - c*2 +parseInt((m*1+1)*26/10) +1-1)%7;
    //该年该月1日的星期
    fw = fw=="0"?7:fw;
    //该年该月共有多少天
    var td = 31;
    switch(m){
    case "4":
    case "6":
    case "9":
    case "11":td = 30;break;
    case "2":{
    var yy = (c+y)*1;
    if((yy%4==0 && yy%100!=0) || yy%400==0){
    td = 29;
    }else{
    td = 28;
    }
    }break;
    }
    switch(w){
    case "1":{
    if(wd*1<fw*1){
    alert("该月第1个星期没有星期"+wd);
    return;
    }else{
    rd = wd*1-fw*1+1;
    }
    }
    break;
    case "2":{
    rd = (8-fw*1)+wd*1;
    }
    break;
    case "3":{
    rd = (8-fw*1)+7+wd*1;
    }break;
    case "4":{
    var tmp1 = (8-fw*1)+14+wd*1;
    if(tmp1*1>td){
    alert("该月第4个星期没有星期"+wd);
    return;
    }else{
    rd = tmp1;
    }
    }break;
    case "5":{
    var tmp2 = (8-fw*1)+21+wd*1;
    if(tmp2*1>td){
    alert("该月第5个星期没有星期"+wd);
    return;
    }else{
    rd = tmp2;
    }
    }break;
    }
    alert(c+y+"年"+m+"月第"+w+"个星期"+wd+"是"+rd+"日");
    $("day").value=rd;
    }
    </script>
    </html>自己写的比较粗糙,修鉓一下吧,呵呵
      

  3.   


    <%@ page language="java" pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <style>
    input{
    width:100px;
    }
    </style>
    <body>
    年: <input type="text" id="year" onkeydown="return test('year');">
    <em>只能输入4位年份数字</em><br>
    月: <input type="text" id="month" onkeydown="return test('month');">
    <em>只能输入1-12月份数字</em><br>
    周: <input type="text" id="week" onkeydown="return test('week');">
    <em>只能输入数字1-5表示第几周</em><br>
    期: <input type="text" id="weekday" onkeydown="return test('weekday');">
    <em>只能输入数字1-7表示星期几</em><br>
    &nbsp;<input type="button" id="btn" value="计算" onclick="done()">&nbsp;
    日: <input type="text" id="day" readonly="readonly">
    </body>
    <script language="JavaScript">
    var $ = function(tag){
    return document.getElementById(tag);
    }
    String.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/ig,'');
    }
    //只能输入4位年份,1-12月份,1-5周,1-7期
    function test(type){
    var flag = false;
    if(!type || type.trim().length==0){
    alert("无法确定要验证的类型");
    return flag;
    }
    var key = event.keyCode;
    if(key==8){
    flag = true;
    }else{
    if (key > 47 && key < 58) {
    switch (type) {
    case "year":{
    if (/^\d{0,4}$/.test(event.srcElement.value + (key - 48))) {
    flag = true;
    }
    }
    break;
    case "month":{
    if(/^([1-9]|1[0-2])$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    case "week" :{
    if(/^[1-5]$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    case "weekday":{
    if(/^[1-7]$/.test(event.srcElement.value+(key-48))){
    flag = true;
    }
    }break;
    default:{alert("无法确定要验证的类型")}break;
    }
    }
    }
    return flag;
    }
    //计算
    function done(){
    var rd;
    var y = $("year").value;
    if(!y || y.length<4 ){
    alert("请输入正确的4位年份!");
    return;
    }
    var m = $("month").value;
    if(!m || m.length==0){
    alert("请输入1-12月份!");
    return;
    }
    var w = $("week").value;
    if(!w || w.length==0){
    alert("请输入1-5星期数");
    return;
    }
    var wd = $("weekday").value;
    if(!wd || wd.length==0){
    alert("请输入1-7星期几");
    return;
    }
    //将当年1,2月看作上一年的13,14月
    var td = 31;
    switch(m){
    case "4":
    case "6":
    case "9":
    case "11":td=30;break;
    case "1" :{
    y = (y * 1 - 1)+"";
    m = 13+"";
    }break;
    case "2":{
    m = 14+"";
    if(((y*1)%4==0 && (y*1)%100!=0) || (y*1)%400==0){
    td = 29;
    }else{
    td = 28;
    }
    y = (y*1-1)+"";
    }break;
    }
    var c = y.substring(0,2);
    var yy = y.substring(2);
    var dd = 1;
    var tmp = (yy*1 + Math.floor(yy*1/4) + Math.floor(c*1/4) - c*2 +Math.floor((m*1+1)*26/10) +dd-1);
    tmp = tmp<0?tmp+(700):tmp;
    var fw = tmp%7;
    //该年该月1日的星期
    fw = fw=="0"?7:fw;
    switch(w){
    case "1":{
    if(wd*1<fw*1){
    alert("该月第1个星期没有星期"+wd);
    return;
    }else{
    rd = wd*1-fw*1+1;
    }
    }
    break;
    case "2":{
    rd = (8-fw*1)+wd*1;
    }
    break;
    case "3":{
    rd = (8-fw*1)+7+wd*1;
    }break;
    case "4":{
    var tmp1 = (8-fw*1)+14+wd*1;
    if(tmp1*1>td){
    alert("该月第4个星期没有星期"+wd);
    return;
    }else{
    rd = tmp1;
    }
    }break;
    case "5":{
    var tmp2 = (8-fw*1)+21+wd*1;
    if(tmp2*1>td){
    alert("该月第5个星期没有星期"+wd);
    return;
    }else{
    rd = tmp2;
    }
    }break;
    }
    alert(y+" 年 "+(m*1>12?m*1-12:m)+" 月第 "+w+" 个星期 "+wd+" 是当月的 "+rd+" 日");
    $("day").value=rd;
    }
    </script>
    </html>
    修改了 应该 没啥问题了 呵呵 
      

  4.   


    为什么写那么复杂?
    <script language=JavaScript>
    function getWeeker(Y, M, D) { 
        ! (M == 1 || M == 2) || (M += 12, Y --);
        var Weeks = ["一", "二", "三", "四", "五", "六", "日"];
        var Numer = (Y * 497/400 + M * 13/5 + D + 3/5) % 7 >>0;
        return "星期" + Weeks[Numer]; 
    }
    alert(getWeeker(2010, 1, 10)); 
    </script>