javascript、php與mysql日期計算函數

來源:互聯網
上載者:User

標籤:javascript、php與mysql

  • javascript:
    /*** 日期計算類* @author [lee] <[<www.dollarphp.com>]>* @param dur 增量 如:+1day -5 year 6months* @param time 傳入時間 支援格式 1、y-m-d H:i:s 2、1111111111* @return 字串 如:2018-01-01 00:00:00*/function dateParse(time = false,dur){this.getDate = function(){    var test_year = /(-)?\d+(\s)?year(s)?/.exec(dur)    var test_month = /(-)?\d+(\s)?month(s)?/.exec(dur)    var test_day = /(-)?\d+(\s)?day(s)?/.exec(dur)    var test_hour = /(-)?\d+(\s)?hour(s)?/.exec(dur)    var test_minute = /(-)?\d+(\s)?minute(s)?/.exec(dur)    var test_second = /(-)?\d+(\s)?second(s)?/.exec(dur)    test_year = (!test_year)?0:parseInt(test_year[0])    test_month = (!test_month)?0:parseInt(test_month[0])    test_day = (!test_day)?0:parseInt(test_day[0])    test_hour = (!test_hour)?0:parseInt(test_hour[0])    test_minute = (!test_minute)?0:parseInt(test_minute[0])    test_second = (!test_second)?0:parseInt(test_second[0])    var outtime    if(time){        if(((typeof(time)==‘string‘) || (time instanceof String)) && (/^\d{4}(-\d{2}(-\d{2})?)?$/.test(time))){            outtime = new Date(time)            outtime.setFullYear(parseInt(outtime.getFullYear()) + test_year)            outtime.setMonth(parseInt(outtime.getMonth()) + test_month)            outtime.setDate(parseInt(outtime.getDate()) + test_day)            outtime.setHours(parseInt(outtime.getHours()) + test_hour)            outtime.setMinutes(parseInt(outtime.getMinutes()) + test_minute)            outtime.setSeconds(parseInt(outtime.getSeconds()) + test_second)            var month = this.parseTime(parseInt(outtime.getUTCMonth())+1)            var date = this.parseTime(parseInt(outtime.getUTCDate()))            var hour = this.parseTime(parseInt(outtime.getUTCHours()))            var minute = this.parseTime(parseInt(outtime.getUTCMinutes()))            var second = this.parseTime(parseInt(outtime.getUTCSeconds()))        }else{            outtime = new Date(time*1000)            outtime.setFullYear(parseInt(outtime.getFullYear()) + test_year)            outtime.setMonth(parseInt(outtime.getMonth()) + test_month)            outtime.setDate(parseInt(outtime.getDate()) + test_day)            outtime.setHours(parseInt(outtime.getHours()) + test_hour)            outtime.setMinutes(parseInt(outtime.getMinutes()) + test_minute)            outtime.setSeconds(parseInt(outtime.getSeconds()) + test_second)            var month = this.parseTime(parseInt(outtime.getMonth())+1)            var date = this.parseTime(parseInt(outtime.getDate()))            var hour = this.parseTime(parseInt(outtime.getHours()))            var minute = this.parseTime(parseInt(outtime.getMinutes()))            var second = this.parseTime(parseInt(outtime.getSeconds()))        }    }else{        outtime = new Date()        outtime.setFullYear(parseInt(outtime.getFullYear()) + test_year)        outtime.setMonth(parseInt(outtime.getMonth()) + test_month)        outtime.setDate(parseInt(outtime.getDate()) + test_day)        outtime.setHours(parseInt(outtime.getHours()) + test_hour)        outtime.setMinutes(parseInt(outtime.getMinutes()) + test_minute)        outtime.setSeconds(parseInt(outtime.getSeconds()) + test_second)        var month = this.parseTime(parseInt(outtime.getMonth())+1)        var date = this.parseTime(parseInt(outtime.getDate()))        var hour = this.parseTime(parseInt(outtime.getHours()))        var minute = this.parseTime(parseInt(outtime.getMinutes()))        var second = this.parseTime(parseInt(outtime.getSeconds()))    }    var year = outtime.getFullYear()    var ret = year+‘-‘+month+‘-‘+date+‘ ‘+hour+‘:‘+minute+‘:‘+second    return ret}this.parseTime = function(input){    var ret    if(input >= 0 && input < 10){        ret = ‘0‘+input    }else{        ret = input    }    return ret}}var date_parser = new dateParse(‘2018-05-08‘,‘+3hour +2year-5months‘)date = date_parser.getDate()console.log(date)
  • php:
    參見:date_add函數
  • mysql:
    參見:DATE_ADD函數
  • javascript、php與mysql日期計算函數

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.