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>
  • 相关阅读:
    机器学习算法最深刻的讲解,包含海量数据处理算法
    从海量数据中寻找出topK的最优算法代码
    转载:基于 Hive 的文件格式:RCFile 简介及其应用---推酷
    原创:自定义三叉树(二)--基于搜索推荐系统根据用户搜索频率(热搜)排序
    原创:协同过滤之ALS
    AT2705 Yes or No(组合数学)
    LUOGU P4609 [FJOI2016]建筑师(第一类斯特林数)
    BZOJ 4710: [Jsoi2011]分特产(容斥)
    51nod 1518 稳定多米诺覆盖(容斥+二项式反演+状压dp)
    BZOJ 3944: Sum(杜教筛)
  • 原文地址:https://www.cnblogs.com/conquer/p/564037.html
Copyright © 2011-2022 走看看