javascript日期处理-通过一个字符串的日期得到所在周、上周及下周的第一天和最后一天

来源:互联网 发布:死亡岛低配置优化补丁 编辑:程序博客网 时间:2024/04/28 17:50

项目需求:


<input type="hidden" id="today">

<script>//把时间类型的数字转换为各种需要的字符串function MM_dateFormat(rq, fenge) {    //格式化日期显示    //fenge   =   0     :2006-02-28   12:34:23    //fenge   =   1     :2006-02-28    //fenge   =   2     :2006年2月28日    //fenge   =   3     :2月28日    //fenge   =   4     :28/2    //fenge   =   5     :二○○六年二月二十八日    //fenge   =   6     :12:34:23    //fenge   =   7     :20060228    if((fenge == null) || (fenge == "")) fenge = 0;    if((rq == "") || (rq == null)) var tmpDate = new Date();    else var tmpDate = new Date(rq);    var result = "";    switch(fenge) {    case 1:        result += tmpDate.getFullYear() + "-";        if((tmpDate.getMonth() + 1) < 10) result += "0" + (tmpDate.getMonth() + 1) + "-";        else result += (tmpDate.getMonth() + 1) + "-";        if(tmpDate.getDate() < 10) result += "0" + tmpDate.getDate();        else result += tmpDate.getDate();        break;    case 2:        result = tmpDate.getFullYear() + "年" + (tmpDate.getMonth() + 1) + "月" + tmpDate.getDate() + "日";        break;    case 3:        result = (tmpDate.getMonth() + 1) + "月" + tmpDate.getDate() + "日";        break;    case 4:        result = tmpDate.getDate() + "/" + (tmpDate.getMonth() + 1);        break;    case 5:        var zhifu = "○一二三四五六七八九十";        var zhrq = "";        var nan = String(tmpDate.getFullYear());        for(iii = 0; iii < nan.length; iii++) {            zhrq += zhifu.substr(nan.substr(iii, 1), 1);        }        zhrq += "年";        var nan = String(tmpDate.getMonth() + 1);        if(nan.length == 2) {            if(nan.substr(0, 1) == "1") zhrq += "十";            else zhrq += zhifu.substr(nan.substr(0, 1), 1) + "十";            if(nan.substr(1, 1) == "0") zhrq += "月";            else zhrq += zhifu.substr(nan.substr(1, 1), 1) + "月"        } else {            zhrq += zhifu.substr(nan.substr(0, 1), 1) + "月";        }        var nan = String(tmpDate.getDate());        if(nan.length == 2) {            if(nan.substr(0, 1) == "1") zhrq += "十";            else zhrq += zhifu.substr(nan.substr(0, 1), 1) + "十";            if(nan.substr(1, 1) == "0") zhrq += "日";            else zhrq += zhifu.substr(nan.substr(1, 1), 1) + "日"        } else {            zhrq += zhifu.substr(nan.substr(0, 1), 1) + "日";        }        result = zhrq;        break;    case 6:        if(tmpDate.getHours() < 10) result += "0" + tmpDate.getHours();        else result += "" + tmpDate.getHours();        if(tmpDate.getMinutes() < 10) result += ":0" + tmpDate.getMinutes();        else result += ":" + tmpDate.getMinutes();        if(tmpDate.getSeconds() < 10) result += ":0" + tmpDate.getSeconds();        else result += ":" + tmpDate.getSeconds();        break;    case 7:        result += tmpDate.getFullYear();        if((tmpDate.getMonth() + 1) < 10) result += "0" + (tmpDate.getMonth() + 1);        else result += (tmpDate.getMonth() + 1);        if(tmpDate.getDate() < 10) result += "0" + tmpDate.getDate();        else result += tmpDate.getDate();        break;    default:        result += tmpDate.getFullYear() + "-";        if((tmpDate.getMonth() + 1) < 10) result += "0" + (tmpDate.getMonth() + 1) + "-";        else result += (tmpDate.getMonth() + 1) + "-";        if(tmpDate.getDate() < 10) result += "0" + tmpDate.getDate();        else result += tmpDate.getDate();        if(tmpDate.getHours() < 10) result += "   0" + tmpDate.getHours();        else result += "   " + tmpDate.getHours();        if(tmpDate.getMinutes() < 10) result += ":0" + tmpDate.getMinutes();        else result += ":" + tmpDate.getMinutes();        if(tmpDate.getSeconds() < 10) result += ":0" + tmpDate.getSeconds();        else result += ":" + tmpDate.getSeconds();        break;    }    return result;}//得到每周的第一天(周一)function getFirstDateOfWeek(theDate){ var firstDateOfWeek; theDate.setDate(theDate.getDate() + 1 - theDate.getDay()); firstDateOfWeek = theDate; return firstDateOfWeek;}//得到每周的最后一天(周日)function getLastDateOfWeek(theDate){ var lastDateOfWeek; theDate.setDate(theDate.getDate() +7 - theDate.getDay()); lastDateOfWeek = theDate; return lastDateOfWeek;}//得到上周的第一天(周一)function getPreviousFirstDateOfWeek(theDate){ var firstDateOfWeek; theDate.setDate(theDate.getDate() - 6 - theDate.getDay()); firstDateOfWeek = theDate; return firstDateOfWeek;}//得到上周的最后一天(周日)function getPreviousLastDateOfWeek(theDate){ var lastDateOfWeek; theDate.setDate(theDate.getDate() +7 - theDate.getDay()); lastDateOfWeek = theDate; return lastDateOfWeek;}//得到下周的第一天(周一)function getNextFirstDateOfWeek(theDate){ var firstDateOfWeek; theDate.setDate(theDate.getDate() + 8 - theDate.getDay()); firstDateOfWeek = theDate; return firstDateOfWeek;}//得到下周的最后一天(周日)function getNextLastDateOfWeek(theDate){ var lastDateOfWeek; theDate.setDate(theDate.getDate() +7 - theDate.getDay()); lastDateOfWeek = theDate; return lastDateOfWeek;}
//将时间格式的字符串转为时间格式function strToDate(dateStr){    var year = dateStr.substr(0,4);    var month = dateStr.substr(5,2);    var day = dateStr.substr(8,2);    var temDate = month+'/'+day+'/'+year;    return new Date(temDate);}$(document).ready(function(){  $("input[name=user_type]").click(function(){    var flag='';    $("input[name=user_type]").filter(':checked').each(function(){     flag+=$(this).val();    });    if(flag=='') return false;    var date=$("#today").val();    get(date)  });  //上周  $("#pre").click(function(){      var tD=strToDate($("#today").val());      var first = MM_dateFormat(getPreviousFirstDateOfWeek(tD).toString(),1);      var last= MM_dateFormat(getPreviousLastDateOfWeek(tD).toString(),1);      $("#today").val(first);        $("#curr").html(first+'-'+last);        get(first);  }).addClass("pointer");  //下周  $("#next").click(function(){      var tD=strToDate($("#today").val());      var first = MM_dateFormat(getNextFirstDateOfWeek(tD).toString(),1);      var last= MM_dateFormat(getNextLastDateOfWeek(tD).toString(),1);      $("#today").val(first);        $("#curr").html(first+'-'+last);        get(first);  }).addClass("pointer");  var theDate="<?php echo date('Y-m-d');?>";  $("#today").val(theDate);  var tD=strToDate(theDate);  var nWeekFirstDay = getFirstDateOfWeek(tD).toString();  var nWeekLastDay= getLastDateOfWeek(tD).toString();  var ch = MM_dateFormat(nWeekFirstDay,1);  var ch1 = MM_dateFormat(nWeekLastDay,1);  //alert("本周一的时间是:" + ch);  //alert("本周日的时间是:" + ch1);  $("#curr").html(ch+'-'+ch1);  get($("#today").val());});

<table width="100%" border="0" style="background-color:#6a6a6a;color:#fff;vertical-align:middle;height:50px;"><tr><td class="linkcss" style="text-align:left;"><span style="padding-left:20px;background:url(images/resultset_previous.png) no-repeat 0px 0px;" id="pre">上一周</span></td><td style="text-align:center;padding:5px 0px 5px 0px;font-size:30px;font-weight:bold;" id="curr"></td><td class="linkcss" style="text-align:right;"><span style="padding-right:20px;background:url(images/resultset_next.png) no-repeat 40px 0px;" id="next">下一周</span></td></tr></table>


原创粉丝点击