• 原生JavaScript实现一种日历


    设计目标:不依赖其他库、兼容一些旧版浏览器、可配置可扩展。

    测试页面:

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>测试日历控件</title>
      6     <style>
      7         #div1{
      8             width: 256px;
      9             height: 202px;
     10             box-sizing: border-box;
     11             background-color: #fff;
     12             box-shadow: 1px 1px 3px #999;
     13             position:absolute;
     14             left:0px;
     15         }
     16         #div2 {
     17             width: 236px;
     18             height: 166px;
     19             box-sizing: border-box;
     20             background-color: #fff;
     21             box-shadow: 1px 1px 3px #999;
     22             position:absolute;
     23             left:300px;
     24         }
     25         .select_date{
     26             padding-left: 10px;box-sizing:border-box;width: 100px;height: 30px;background-color: #fff;font-size: 12px;float: left;line-height: 30px;
     27         }
     28         .span_rq{
     29             width: 60px;display: inline-block;
     30         }
     31     </style>
     32     <script src="DatePicker.js"></script>
     33 </head>
     34 <body>
     35 <div id="div_all_base" style="background-color: beige">
     36     <div id="div1">
     37 
     38     </div>
     39     <div id="div2">
     40 
     41     </div>
     42     <div style=" 600px;height: 30px;left:600px;position:absolute;float:left" id="div3">
     43         <div style="float: left;line-height: 30px;margin-left: 10px;font-size: 12px;"></div>
     44         <div class="select_date"><span class="span_rq">开始日期</span><img src="image/rili2.jpg" style="margin-left: 10px; 20px;margin-top: 6px;cursor: pointer" alt="" onclick="var divs=div_rilis.getElementsByClassName('div_rili');divs[0].style.display='block';divs[1].style.display='none'"></div>
     45         <div style="position: absolute;256px;height: 202px;top:50px;display: none" class="div_rili"></div>
     46         <div style="float: left;line-height: 30px;margin-left: 10px;font-size: 12px;"></div>
     47         <div class="select_date"><span class="span_rq">结束日期</span><img src="image/rili2.jpg" style="margin-left: 10px; 20px;margin-top: 6px;cursor: pointer" alt=""  onclick="var divs=div_rilis.getElementsByClassName('div_rili');divs[1].style.display='block';divs[0].style.display='none'"></div>
     48         <div style="position: absolute;256px;height: 202px;top:50px;left:120px;display: none" class="div_rili"></div>
     49     </div>
     50 </div>
     51 </body>
     52 <script>
     53     var div_rilis=document.getElementById("div3");
     54 
     55     var apiHost="http://127.0.0.1/api/v1";
     56     var data_enabledate={list_enabledate:[{CBRQ:20201111},{CBRQ:20201112},{CBRQ:20201113},{CBRQ:20201114},{CBRQ:20201115}],type:"ok"};
     57     //用AJAX从后端查询可选日期,需要返回数据的格式与data_enabledate相同
     58     //var datepicker1=new DatePicker("datepicker1",{pickcallback:loadPage,bannerBackColor:"rgb(0,112,192)",searchEnableUrl:apiHost+"/public/searchEnableDate"});//
     59     //直接用前端数据,设置了点击回调、banner颜色、激活日期
     60     var datepicker1=new DatePicker("datepicker1",{pickcallback:loadPage,bannerBackColor:"rgb(0,112,192)",searchEnableUrl:data_enabledate});
     61     var div_rili1=document.getElementById("div1");
     62     div_rili1.appendChild(datepicker1.div);
     63     datepicker1.reloadDateList();
     64 
     65     //设置更多的配置项,被点击的按钮变色,程序可以在一定的范围内根据外围div的大小调整每个按钮的尺寸,另外设置了字体大小,以及允许点击未激活日期
     66     var datepicker2=new DatePicker("datepicker2",{
     67         pickcallback:function(str_date,that){
     68             datepicker2.pick0(str_date);
     69             loadPage(str_date);
     70         },bannerBackColor:"rgb(0,112,192)",236,height:166,shadowSize:0,paddingSize:0,
     71         searchEnableUrl:data_enabledate,contentFontSize:9,flag_canPickUnEnabled:true,
     72     });
     73     var div_rili2=document.getElementById("div2");
     74     div_rili2.appendChild(datepicker2.div);
     75     datepicker2.reloadDateList();
     76 
     77     function loadPage(str_date){
     78 
     79         alert("点击的日期是"+str_date);
     80     }
     81 
     82     //常用的起始日期和结束日期,这里设置了每个日历的title,不区分激活按钮,并且把日历的值与span的innerHTML关联起来(使用arr_valuelink属性可以关联input或textview的value)
     83     var divs=div_rilis.getElementsByClassName('div_rili');
     84     var spans=div_rilis.getElementsByClassName("span_rq");
     85     var datepicker1b=new DatePicker("datepicker1b",{pickcallback:function(value,that){
     86             var divs=div_rilis.getElementsByClassName('div_rili');
     87             divs[0].style.display='none';
     88             divs[1].style.display='none';
     89             DatePicker.linkValue(value,that)
     90         },bannerBackColor:"rgb(0,112,192)",arr_innerlink:[spans[0]],title:"开始日期"});//与react不同这里的spans在onload后不会再重新生成,所以可以直接关联dom对象!!
     91     var datepicker2b=new DatePicker("datepicker2b",{pickcallback:function(value,that){
     92             var divs=div_rilis.getElementsByClassName('div_rili');
     93             divs[0].style.display='none';
     94             divs[1].style.display='none';
     95             DatePicker.linkValue(value,that)
     96         },bannerBackColor:"rgb(0,112,192)",arr_innerlink:[spans[1]],title:"结束日期"});
     97     divs[0].appendChild(datepicker1b.div);
     98     divs[1].appendChild(datepicker2b.div);
     99     datepicker1b.reloadDateList();
    100     datepicker2b.reloadDateList();
    101 </script>
    102 </html>

    日历按钮图片:

    代码实现:(建议从后往前看)

      1 DatePicker=function(id,obj_p)
      2 {
      3     //如果已经有这个div则建立失败
      4     var div=document.getElementById("id");
      5     if(div)
      6     {
      7         console.log("组件id重复,请使用其他组件id");
      8         return;
      9     }
     10     div=document.createElement("div");//最外层容器
     11     this.id=id;
     12     this.div=div;
     13     div.id=id;
     14     var _this=this;
     15 
     16     this.width=obj_p.width||256;
     17     this.height=obj_p.height||202;
     18     this.shadowSize=obj_p.shadowSize||4;
     19     this.shadowColor=obj_p.shadowColor||"rgb(203,203,203)";
     20     this.backColor=obj_p.backColor||"white";
     21     //this.boxShadow=obj_p.boxShadow||"inset 0 0 4px 4px rgb(203,203,203)";
     22     div.style.border="0px";
     23     div.style.width=this.width+"px";
     24     div.style.height=this.height+"px";
     25     div.style.boxShadow="inset 0 0 "+this.shadowSize+"px "+this.shadowSize+"px "+this.shadowColor;
     26     div.style.position="absolute";
     27     div.style.backgroundColor=this.backColor;
     28 
     29     this.title=obj_p.title||"日期选择";
     30     //this.noTitle=obj.noTitle||false;
     31     //this.noBanner=obj.noBanner||false;
     32     this.h1=obj_p.h1||24;//最上面的一行空间
     33     this.h2=obj_p.h2||24;
     34     //this.h3=obj_p.h3||208;
     35     this.titleFontSize=obj_p.titleFontSize||12;
     36     this.contentFontSize=obj_p.contentFontSize||10;
     37     var span=document.createElement("span")//日历的标题栏
     38     span.innerText=this.title;
     39     span.style.height=this.h1+"px";
     40     span.style.fontSize=this.titleFontSize+"px";
     41     span.style.fontWeight="bold";
     42     span.style.lineHeight=this.h1+"px";
     43     span.style.display="inline-block";
     44     span.style.left=this.shadowSize+"px";
     45     span.style.paddingLeft=this.shadowSize+"px";
     46     span.style.position="absolute";
     47     span.style.zIndex="2";
     48     div.appendChild(span);
     49 
     50     this.bannerBackColor=obj_p.bannerBackColor||"rgb(169,16,10)";
     51     this.bannerFontColor=obj_p.bannerFontColor||"white";
     52     this.date=obj_p.date||(new Date());//默认日期
     53     this.year=this.date.getFullYear();
     54     this.month=this.date.getMonth();
     55     this.day31=this.date.getDate();
     56     this.day7=this.date.getDay();
     57     this.arr_day7=obj_p.arr_day7||["","一","二","三","四","五","六","日"];
     58     this.arr_bannerp=obj_p.arr_bannerp||([//用来调整年月的按钮
     59         {id:"btn1",10,marginLeft:20,text:"《",onclick:function(){_this.year-=10;_this.changeYear()}}
     60         ,{id:"btn2",10,marginLeft:5,text:"〈",onclick:function(){_this.year-=1;_this.changeYear()}}
     61         ,{id:"btn3",40,marginLeft:5,text:this.year,onclick:function(){}}
     62         ,{id:"btn4",10,marginLeft:5,text:"〉",onclick:function(){_this.year+=1;_this.changeYear()}}
     63         ,{id:"btn5",10,marginLeft:5,text:"》",onclick:function(){_this.year+=10;_this.changeYear()}}
     64         ,{id:"btn6",10,marginLeft:50,text:"〈",onclick:function(){_this.month-=1;if(_this.month<0){_this.month=11;_this.year-=1;}_this.changeMonth();_this.changeYear()}}
     65         ,{id:"btn7",20,marginLeft:5,text:this.month+1,onclick:function(){}}
     66         ,{id:"btn8",10,marginLeft:5,text:"〉",onclick:function(){_this.month+=1;if(_this.month>11){_this.month=0;_this.year+=1;}_this.changeMonth();_this.changeYear()}}
     67         ])
     68 
     69     var div_banner=document.createElement("div");
     70     div_banner.style.height=this.h2+"px";
     71     //div_banner.style.width="100%";
     72     div_banner.style.left=this.shadowSize+"px";
     73     div_banner.style.right=this.shadowSize+"px";
     74     div_banner.style.top=this.h1+"px";
     75     div_banner.style.position="absolute";
     76     div_banner.style.backgroundColor=this.bannerBackColor;
     77     div_banner.style.lineHeight=this.h2+"px";
     78     div_banner.style.zIndex="2";
     79     //div_banner.style.fontSize=this.contentFontSize+2+"px";
     80     //div_banner.style.color=this.bannerFontColor;
     81     //div_banner.style.fontWeight="bold";
     82 
     83     //this.changeYearBack=obj_p.
     84 
     85     var len=this.arr_bannerp.length;
     86     var sum_left=0;
     87     for(var i=0;i<len;i++)//banner上调整年月的按钮
     88     {
     89         var bannerp=this.arr_bannerp[i];
     90         var btn=document.createElement("button");
     91         btn.id=bannerp.id;
     92         btn.style.position="absolute";
     93         btn.style.backgroundColor=this.bannerBackColor;
     94         btn.style.border="0px";
     95         btn.style.padding="0px";
     96         btn.style.textAlign="center";
     97         btn.style.color=this.bannerFontColor;//button这个属性并不会自动继承
     98         btn.style.fontWeight="bold";
     99         btn.style.fontSize=this.contentFontSize+2+"px";
    100         btn.style.height="100%";
    101         btn.style.lineHeight=this.h2+"px";
    102         btn.style.width=bannerp.width+"px";
    103         btn.style.left=sum_left+bannerp.marginLeft+"px";
    104         btn.innerText=bannerp.text;
    105         btn.onclick=bannerp.onclick;
    106         sum_left+=(bannerp.width+bannerp.marginLeft);
    107         this[btn.id]=btn;
    108         div_banner.appendChild(btn);
    109     }
    110     div.appendChild(div_banner);
    111     this.paddingSize=obj_p.paddingSize||6;
    112 
    113     this.gridBackColor=obj_p.gridBackColor||"#eeeeee";//单元格背景颜色
    114     this.gridColor=obj_p.gridColor||"#000000";//本月单元格的文字颜色
    115     this.gridColor0=obj_p.gridColor0||"#888888";//连带显示的非本月单元格的文字颜色
    116     this.hoverBorderColor=obj_p.hoverBorderColor||"#888888";//鼠标移入可选单元格后的边框颜色
    117     this.enableBackColor=obj_p.enableBackColor||"rgb(207,232,252)";//可以被选择的单元格的背景颜色
    118     this.enableBackColorPicked=obj_p.enableBackColorPicked||"rgb(252,232,207)";
    119     var div_list=document.createElement("div");//按钮容器
    120     var int1=this.shadowSize+this.paddingSize;
    121     div_list.style.left=int1+"px";
    122     div_list.style.right=int1+"px";
    123     div_list.style.top=int1+"px";
    124     div_list.style.bottom=this.shadowSize+"px";
    125     div_list.style.position="absolute";
    126     div_list.style.backgroundColor=this.gridBackColor;
    127     div.appendChild(div_list);
    128     this.sizex=Math.floor((this.width-int1*2)/7);//按钮尺寸
    129     this.sizey=Math.floor((this.height-int1-this.shadowSize-(this.h1+this.h2-this.shadowSize-this.paddingSize))/7);
    130     this.pickcallback=obj_p.pickcallback;//鼠标点击日期按钮之后的响应方法
    131     this.div_list=div_list;
    132     this.obj_enable={};
    133     this.searchEnableUrl=obj_p.searchEnableUrl;//||apiHost+"/public/searchEnableDate";
    134     this.flag_canPickUnEnabled=obj_p.flag_canPickUnEnabled||false;//是否可以点击不激活的按钮
    135     if(!this.searchEnableUrl)//根本不区分按钮是否激活
    136     {
    137         this.flag_canPickUnEnabled=true;
    138     }
    139     //this.reloadDateList(obj_p.initcallback);
    140     //将日历的选择值与某些dom对象关联起来
    141     this.arr_innerlink=obj_p.arr_innerlink||[];
    142     this.arr_valuelink=obj_p.arr_valuelink||[];
    143 }
    144 DatePicker.linkValue=function(value,that)//改变与日历相关联的dom对象的值
    145 {
    146     var len=that.arr_innerlink.length;
    147     for(var i=0;i<len;i++)
    148     {
    149         that.arr_innerlink[i].innerHTML=value;
    150     }
    151     var len=that.arr_valuelink.length;
    152     for(var i=0;i<len;i++)
    153     {
    154         that.arr_valuelink[i].value=value;
    155     }
    156 }
    157 DatePicker.prototype.changeYear=function()
    158 {
    159     this.btn3.innerText=this.year;
    160     this.reloadDateList();//根据当前月份重新排列日期btn
    161     console.log("改变了年份")
    162 }
    163 DatePicker.prototype.changeMonth=function()
    164 {
    165     this.btn7.innerText=this.month+1;
    166     console.log("改变了月份")
    167 }
    168 DatePicker.DrawButton=function(that,callback)
    169 {//重新渲染选中月份的日历按钮
    170     try {
    171 
    172         var sizex = that.sizex;//每个小块的宽度
    173         var sizey = that.sizey;//每个小块的宽度
    174         var date_list = new Date(that.year + "-" + (that.month + 1) + "-1");//取这个月的第一天
    175         var day7_list = date_list.getDay();//是周几
    176         //上一个月有几天?
    177         var date_list0 = date_list - 1000 * 60 * 60;//上个月的最后一天
    178         var day31_list0 = (new Date(date_list0)).getDate();//是几号
    179 
    180         var int3 = that.month + 2;
    181         var int4 = that.year;
    182         if (int3 > 12) {
    183             int3 = 1;
    184             int4++;
    185         }
    186         var date_list2 = new Date(int4 + "-" + (int3) + "-1");//取下个月的第一天
    187         var date_list1 = date_list2 - 1000 * 60 * 60;//这个月的最后一天
    188         var day31_list1 = (new Date(date_list1)).getDate();//是几号
    189         for (var i = 0; i < (day7_list - 1); i++) {//补齐日历第一行的灰色部分
    190             that.arr_date.push({text: day31_list0 - (day7_list - 2 - i), inmonth: false})
    191         }
    192         if(that.searchEnableUrl)//如果要区分按钮是否激活
    193         {
    194             var list_enabledate = that.obj_json.list_enabledate;
    195             for (var i = 1; i <= day31_list1; i++) {
    196                 var len = list_enabledate.length;
    197                 var str_fulldate = that.year + (that.month + 1 + 100 + "").substr(1) + (i + 100 + "").substr(1);
    198                 var obj = {text: i, inmonth: true, isenable: false, str_fulldate: str_fulldate};
    199                 for (var j = 0; j < len; j++) {
    200                     if (list_enabledate[j].CBRQ == (str_fulldate)) {
    201                         obj.isenable = true;
    202                         //obj.str_fulldate=str_fulldate;
    203                         break;
    204                     }
    205                 }
    206                 that.arr_date.push(obj);
    207             }
    208         }
    209         else {
    210             for (var i = 1; i <= day31_list1; i++) {
    211                 var str_fulldate = that.year + (that.month + 1 + 100 + "").substr(1) + (i + 100 + "").substr(1);
    212                 var obj = {text: i, inmonth: true, isenable: false, str_fulldate: str_fulldate};
    213                 //obj.isenable = true;<-在不区分是否激活的情况下,不需要变色标记
    214                 that.arr_date.push(obj);
    215             }
    216         }//将本月内的日期对象推入
    217 
    218         var len = that.arr_date.length;
    219         for (i = 0; i < (42 - len); i++) {//补上本月剩余的灰色部分
    220             that.arr_date.push({text: i + 1, inmonth: false})
    221         }
    222       //开始绘制按钮
    223         var int2 = that.h1 + that.h2 - that.shadowSize - that.paddingSize;
    224         for (var i = 0; i < 7; i++)//对于每一行
    225         {
    226             for (var j = 0; j < 7; j++) {
    227 
    228                 (function () {//这里需要用闭包避免var变量污染
    229                     var div = document.createElement("div");
    230                     div.class = "div_riligrid";
    231                     //div.className="div_riligrid";
    232                     div.style.position = "absolute";
    233                     div.style.display = "inline-block";
    234                     div.style.top = i * sizey + int2 + "px";
    235                     div.style.left = j * sizex + "px";
    236                     div.style.width = sizex + "px";
    237                     div.style.height = sizey + "px";
    238 
    239                     //div.style.borderWidth="0px"
    240                     //div.style.borderColor=that.hoverBorderColor
    241                     div.style.textAlign = "center";
    242 
    243 
    244                     if (i == 0)//第一行显示一周七天的名字,按中式习惯从周一到周日显示
    245                     {
    246                         div.style.color = that.gridColor;
    247                         div.innerText = that.arr_day7[j + 1];
    248                         div.style.fontSize = that.contentFontSize + "px";
    249                         div.style.cursor = "default";
    250                     }
    251                     else//接下来根据列表生成日期小块
    252                     {
    253                         div.style.fontSize = that.contentFontSize + 4 + "px";
    254                         div.style.cursor = "pointer";
    255                         var index = (i - 1) * 7 + j;
    256                         (function () {
    257                             var obj = that.arr_date[index];
    258                             div.innerText = obj.text;
    259                             if (!obj.inmonth) {//对于不在本月内的占位按钮
    260                                 div.style.color = that.gridColor0;
    261                             }
    262                             else//根据条件判断按钮是否可点击
    263                             {
    264                                 div.style.color = that.gridColor;
    265                                 //obj.isEnabled=false;
    266                                 //div.style.borderWidth
    267                                 /*div.onclick=function(){
    268                                     that.pickcallback(obj.text)
    269                                 }*/
    270                                 div.style.top = i * sizey + int2 + 1 + "px";
    271                                 div.style.left = j * sizex + 1 + "px";
    272                                 div.style.width = sizex - 2 + "px";
    273                                 div.style.height = sizey - 2 + "px";
    274                                 if (obj.isenable == true || that.flag_canPickUnEnabled) {
    275                                     div.onclick = function () {
    276                                         //obj.isenable
    277                                         that.pickcallback(obj.str_fulldate,that)
    278                                     }
    279                                 }
    280 
    281                                 //div.style.border="1px solid "+that.hoverBorderColor;
    282                                 //鼠标移入移出事件
    283                                 div.onpointerenter = function () {//鼠标移入时显示边框
    284                                     div.style.border = "1px solid " + that.hoverBorderColor;
    285                                 }
    286                                 div.onpointerleave = function () {
    287                                     div.style.border = "0px"
    288                                 }
    289                                 that.obj_enable["div_" + obj.str_fulldate] = div;
    290                                 if (obj.isenable) {
    291                                     div.style.backgroundColor = that.enableBackColor;
    292 
    293                                 }
    294                             }
    295                         })()
    296                         //事件
    297                     }
    298                     that.div_list.appendChild(div);
    299                 })()
    300             }
    301         }
    302         that.inited=true;
    303         if (that.true_cbrq) {
    304              that.pick(that.true_cbrq);
    305         }
    306         if (callback) {
    307             callback();
    308         }
    309     }catch(e)
    310     {
    311         alert(e);
    312         console.log(e);
    313     }
    314 }
    315 DatePicker.prototype.reloadDateList=function(callback)
    316 {//重新渲染当前月份日历按钮前,从后台查询本月激活按钮
    317     console.log("重新加载日期列表")//7*6标准
    318     this.arr_date=[];
    319     this.obj_enable={};
    320     this.div_list.innerHTML="";
    321     var that=this;
    322     //有可能不需要后台查询!
    323     if(this.searchEnableUrl)
    324     {
    325         if(typeof searchEnableUrl=="string") {//如果url是字符串
    326 
    327 
    328             //先绘制标签还是先查询标签限制?
    329             var ajax = createXMLHttpRequest();
    330             ajax.open("POST", this.searchEnableUrl);
    331             ajax.onreadystatechange = function () {//这里取到的this时ajax对象!
    332                 if (ajax.readyState == 4) {
    333 
    334                     if (ajax.status == 200) {
    335                         var str_json = ajax.responseText;
    336                         try {
    337                             var obj_json = JSON.parse(str_json);
    338                             if (obj_json.type == "ok") {
    339                                 that.obj_json = obj_json;
    340                                 DatePicker.DrawButton(that, callback);
    341 
    342                             }
    343                             else if (obj_json.type == "error") {
    344                                 alert(obj_json.str_res);
    345                                 console.log(obj_json.str_res);
    346                             }
    347                         }
    348                         catch (e) {
    349                             alert(e);
    350                             console.log(e);
    351                         }
    352                         ajax.abort();
    353                     }
    354                 }
    355             }
    356 
    357             //var obj_json={ str_month:this.year+(this.month+1+100+"").substr(1)}
    358             //ajax.send(JSON.stringify(obj_json));//总之sb2的servlet不能自动转化json和FormData
    359             var formData = new FormData()
    360             formData.append("str_month", this.year + (this.month + 1 + 100 + "").substr(1));
    361             ajax.send(formData);
    362             //
    363         }
    364         else {
    365             that.obj_json = this.searchEnableUrl;//不去后端查询,直接把searchEnableUrl作为所需数据
    366             DatePicker.DrawButton(that, callback);
    367         }
    368     }
    369     else {
    370         DatePicker.DrawButton(that,callback);
    371     }
    372 
    373 }
    374 DatePicker.prototype.pick0=function(true_cbrq)//通过代码设置被选中按钮,
    375 {//如果被选中按钮在另一个月,则日历会自动跳转到相应月份,并且改变被选中按钮的颜色
    376     var year=parseInt(true_cbrq.substr(0,4));
    377     var month=parseInt(true_cbrq.substr(4,2));
    378     var day31=true_cbrq.substr(6,2);
    379     this.true_cbrq=true_cbrq;
    380     if(this.year!=year||(this.month+1)!=month)
    381     {
    382         this.year=year;
    383         this.month=month-1;
    384         this.true_cbrq=true_cbrq;
    385         this.changeMonth();
    386         this.changeYear();
    387         //this.reloadDateList()
    388 
    389     }
    390     else
    391     {
    392         if(this.inited)
    393         {
    394             this.pick(true_cbrq)
    395         }
    396         else {
    397             this.reloadDateList();
    398         }
    399     }
    400 }
    401 DatePicker.prototype.pick=function(true_cbrq)//修改被点击按钮的颜色
    402 {
    403     if(this.grid_picked)
    404     {
    405         this.grid_picked.style.backgroundColor=this.enableBackColor;
    406 
    407     }
    408     var grid=this.obj_enable["div_"+true_cbrq];
    409     if(grid)
    410     {
    411         grid.style.backgroundColor=this.enableBackColorPicked;
    412         this.grid_picked=grid;
    413     }
    414 }
    415 DatePicker.getDateStr=function(dt)//以下是一些辅助方法
    416 {
    417     var arr_day=["","一","二","三","四","五","六","日"];
    418     var str_date=dt.getFullYear()+"年"+(dt.getMonth()+1)+"月"+dt.getDate()+"日 星期"+arr_day[dt.getDay()];
    419     return str_date;
    420 }
    421 DatePicker.getDateStr2=function(dt)//标准八位日期
    422 {
    423     var str_date2=dt.getFullYear()+(dt.getMonth()+1+100+"").substr(1)+(dt.getDate()+100+"").substr(1);
    424     return str_date2;
    425 }
    426 //八位纯数字日期加两个杠,变成十位标准日期
    427 DatePicker.addGang=function(str)
    428 {
    429     var str_res=str.substr(0,4)+"-"+str.substr(4,2)+"-"+str.substr(6,2);
    430     return str_res;
    431 }
    432 //八位纯数字日期加上汉字年月日,并且去掉补位的0
    433 DatePicker.addNYR=function(str)
    434 {
    435     var str_res=str.substr(0,4)+"年"+parseInt(str.substr(4,2))+"月"+parseInt(str.substr(6,2))+"日";
    436     return str_res;
    437 }

    github地址:https://github.com/ljzc002/SimpleAni

  • 相关阅读:
    Dubbo教程:入门到实战
    阿里面试Java程序员都问些什么?
    Canon MF113W激光打印机双面打印方法
    MacBook Pro App Store无法下载和更新软件解决方案
    收不到Win10正式版预订通知?一个批处理搞定
    创业公司失败的20大原因:没市场需求排第一
    最新版本sublime text3注册码
    Spring MVC 知识点整理
    Nginx子域名配置
    Install Local SQL In Mac OS
  • 原文地址:https://www.cnblogs.com/ljzc002/p/13957729.html
Copyright © 2020-2023  润新知