zoukankan      html  css  js  c++  java
  • 各种时间函数

    1、判断两个日期的大小(t2比t1大返回true,否则返回false)

    function compareDate(t1, t2){
        var strs1= new Array(); //定义一数组
        strs1=t1.split("-"); //字符分割
        var strs2= new Array(); //定义一数组
        strs2=t2.split("-"); //字符分割
        if (strs1[2].length == 1) {
          strs1[2] = '0' + strs1[2];
        }
        if (strs2[2].length == 1) {
          strs2[2] = '0' + strs2[2];
        }
        if(parseInt(strs1[0])> parseInt(strs2[0])) { return false; }
        else if(parseInt(strs1[0]) <parseInt( strs2[0])) { return true; }
        else{}
        if(parseInt(strs1[1] )> parseInt(strs2[1])) { return false; }
        else if(parseInt(strs1[1]) <parseInt( strs2[1])) { return true; }
        else{}
        if (parseInt(strs1[2]) > parseInt(strs2[2])) { return false; }
        else if (parseInt(strs1[2]) <= parseInt(strs2[2])) { return true; }
        else{}
        return true;
    }

    2、一个日期过几天后是哪一天?

    function dateAfter(date,days){
        var  startDate  =  new  Date  (date);
        var  intValue  =  0;  
        var  endDate  =  null;  
    
        intValue  =  startDate.getTime();            
        intValue  +=  days  *  (24  *  3600  *  1000);
        endDate  =  new  Date  (intValue);  
        var year = endDate.getFullYear();
        var month = (endDate.getMonth()+1)<10 ? '0'+(endDate.getMonth()+1) : (endDate.getMonth()+1);
        var day = endDate.getDate() < 10 ? '0'+endDate.getDate() : endDate.getDate();
        return year+"-"+ month+"-"+ day;  
    }

    3、两个日期相隔多少天

    function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2002-12-18格式  
        var  aDate,  oDate1,  oDate2,  iDays  
        aDate  =  sDate1.split("-")  
        aDate[1] = aDate[1].length == 1 ? '0' + aDate[1] : aDate[1];
        aDate[2] = aDate[2].length == 1 ? '0' + aDate[2] : aDate[2];
        oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式  
        aDate  =  sDate2.split("-")  
        aDate[1] = aDate[1].length == 1 ? '0' + aDate[1] : aDate[1];
        aDate[2] = aDate[2].length == 1 ? '0' + aDate[2] : aDate[2];
        oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
        iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
        return  iDays + 1
    }

    4、获取两个日期中间的所有日期(数组)

    // 给String对象添加getDate方法,使字符串形式的日期返回为Date型的日期  
    String.prototype.getDate = function () {
      var strArr = this.split('-');
      return new Date(strArr[0], strArr[1] - 1, strArr[2]);
    
    }
    // 给Date对象添加getYMD方法,获取字符串形式的年月日  
    Date.prototype.getYMD = function () {
    
      // 将结果放在数组中,使用数组的join方法返回连接起来的字符串,并给不足两位的天和月十位上补零  
          return [this.getFullYear(), getDaysArray.fz(this.getMonth() + 1), this.getDate()].join("-");
    
    }
    const getDaysArray = {
      // 获取间隔天数  
      getDays: function(day1, day2) {
          // 获取入参字符串形式日期的Date型日期  
          var st = day1.getDate();
          var et = day2.getDate();
    
          var retArr = [];
    
          // 获取开始日期的年,月,日  
          var yyyy = st.getFullYear(),
              mm = st.getMonth(),
                dd = st.getDate();
    
          // 循环  
          while (st.getTime() != et.getTime()) {
                retArr.push(st.getYMD());
    
                // 使用dd++进行天数的自增  
                st = new Date(yyyy, mm, dd++);
    
          }
    
            // 将结束日期的天放进数组  
            retArr.push(et.getYMD());
            retArr.splice(0, 1);
    
            return retArr; // 或可换为return ret;  
    
      },
    
    
      // 给月和天,不足两位的前面补0  
      fz: function(num) {
        if (num < 10) {
            num = "0" + num;
    
        }
        return num
    
      }
    }
    module.exports = {
        getDays: getDaysArray.getDays
    }
  • 相关阅读:
    客户端用不用bind的区别
    软件项目开发流程
    很强大的几个网站
    MIS系统的 5个基本模块
    asp.net 生成导出word表单 ,导出excel; dataTable生成xls文件,返回前台下载;asp.net启动excel错误 80070005;excelxls columnName 不能改变; 读写excel的开源利器NPOI; 设置excel Cell的数据类型;
    正则快速入门
    asp.net 服务端调用客户端脚本; asp.net 服务端将文件传给客户端; reponse.ContentType的取值;用OutputStream.Write返回文件,效率是WriteFile的10倍;download link click和OutputStream的比较;
    常用编辑
    数据库流程图设计
    scroll位置控制 window的和div的
  • 原文地址:https://www.cnblogs.com/cutone/p/9024232.html
Copyright © 2011-2022 走看看