zoukankan      html  css  js  c++  java
  • javascript实现在某个时间里返回星期和月的第一天和最后一天

         最近在做项目时遇到要统计一个月内的计费,虽用服务器端代码实现了,但用客户端的脚本应更快些
        
         比如在页面上放有如下图的控件时即可用脚本实现更好:
            
                                           
    <script language="javascript">
      function fillstring(str)
      {
       if(str.length==1)
       {
        str = "0" + str;
       }
       return(str);
      }
      function quickseldate(type)
      {
       var begintime,endtime;
       var oneminute = 60*1000;
       var onehour   = 60*oneminute;
       var oneday    = 24*onehour;
       var oneweek   = 7*oneday;
       
       var todayDate = new Date();
       var date = todayDate.getDate();
       var month= todayDate.getMonth() +1;
       var year= todayDate.getYear();
       var day = todayDate.getDay();
       if(navigator.appName == "Netscape")
       {
        year = 1900 + year;
       }
       //-->
          
       if(type=="day")
       {
        begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString());
        endtime = begintime;
       }
       else if(type=="week")
       {
        var daytoMon = day-1;
        if(day==0)
         daytoMon = 6;
        
        todayDate.setTime(todayDate.getTime()-daytoMon*oneday);
        date = todayDate.getDate();
        month= todayDate.getMonth() +1;
        year= todayDate.getYear();
        day = todayDate.getDay();
        
        begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString());
        
        todayDate.setTime(todayDate.getTime()+6*oneday);
        
        date = todayDate.getDate();
        month= todayDate.getMonth() +1;
        year= todayDate.getYear();
        
        endtime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString());
       }
       else if(type=="month")
       {
        var dateto1 = date-1;
        
        todayDate.setTime(todayDate.getTime()-dateto1*oneday);
        date = todayDate.getDate();
        month= todayDate.getMonth() +1;
        year= todayDate.getYear();
        day = todayDate.getDay();
        
        begintime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString());
        
        todayDate.setMonth(month);
        todayDate.setTime(todayDate.getTime()-oneday);
        
        date = todayDate.getDate();
        month= todayDate.getMonth() +1;
        year= todayDate.getYear();
        
        endtime = year.toString() + "-" + fillstring(month.toString()) + "-" + fillstring(date.toString());
       }
       document.getElementById("Begintime").value = begintime;
       document.getElementById("Endtime").value = endtime;
      }
    </script>
  • 相关阅读:
    C++如何对接sqlitepp
    c++11中的condition_variable和之前的pthread_cond_timedwait的不同之处
    浏览器设置代理模式后的报文是怎么样的?
    C++11中令人吐血的"移动语义"和"新的右值引用"
    MYSQL的事务及锁操作
    Microsoft Word —— 使用宏脚本将所有表格添加边框
    Navicat——如何导出数据字典
    Redis——配置详解
    keepalived——tengine集群主备均有VIP
    Docker——如何修改运行中容器的映射端口
  • 原文地址:https://www.cnblogs.com/conquer/p/564037.html
Copyright © 2011-2022 走看看