Code:/* @desc: Time-Date function set @author [Lee] <[<[email protected]>]>*/function datetime () {/* @desc: Internal method, less than 10 complement 0 @ param input value @return ret converted value */this.parsetime = function (input) {var ret if (input >= 0 && input &L T {ret = ' 0 ' +input}else{ret = input} return ret}/* @desc: Time @param time prefix, 10-bit @return re T time, in the format: 2018-01-01 00:00:00 */this.timetostr = function (time) {var = (times)? ( Time):(Math.Round (new date () GetTime ()/1000) var date = new Date (time*1000) var year = This.parsetime (date.getfully Ear ()) var month = This.parsetime (Date.getmonth () +1) var day = This.parsetime (Date.getdate ()) var hour = This.par Setime (Date.gethours ()) var minute = This.parsetime (Date.getminutes ()) var second = This.parsetime (Date.getseconds () var ret = year+ '-' +month+ '-' +day+ ' +hour+ ': ' +minute+ ': ' +second return ret}/* @desc: Time-to-time suffix @param str time string @retur N Time Prefix */this.strtotime = function (str) {var date = new DAte (str) var year = This.parsetime (Date.getfullyear ()) if (/^\d{4} (-\d{2} (-\d{2})?)? \s\d{2}:\d{2} (:)? ( \d{2})? $/.test (str)) {var month = This.parsetime (Date.getmonth () +1) var day = This.parsetime (Date.getdate ()) var hour = This.parsetime (Date.gethours ()) var minute = This.parsetime (Date.getminutes ()) var second = This.parsetime (Date.getseconds ())}else{var month = This.parsetime (Date.getutcmonth () +1) var day = th Is.parsetime (Date.getutcdate ()) var hour = This.parsetime (Date.getutchours ()) var minute = This.parsetime (da Te.getutcminutes ()) var second = This.parsetime (Date.getutcseconds ())} str = year+ '-' +month+ '-' +day+ ' +hour + ': ' +minute+ ': ' +second date = new Date (str) var time = Date.gettime (). toString () time = Time.slice (0,10) retur N time}/* @desc: Time difference @param sstr start, string @param estr end time, string @return ret difference, unit: Second */this.timediff = function (sstr,estr) { var stime = this.strtotime (SSTR) var etime = this.strtotime (estr) var ret = etime-stime return ret}/* @desc: Time add function @param dur margin, such as: -1year +2month @param time, 1, time prefix, 2, time string @return ret time, Format: 2018-01-01 00:00:00 */this.dateadd = function (Dur,time = false) {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_s Econd) 0:parseint (test_second[0]) var outtime if (time) {if ((typeof (time) = = ' string ') | | (Time instanceof String)) && (/^\d{4}(-\d{2} (-\d{2})?)? (\s)? (\d{2})? (:)? (\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.se Tminutes (parseint (Outtime.getminutes ()) + Test_minute) outtime.setseconds (parseint (Outtime.getseconds ()) + test _second) var month = This.parsetime (parseint (Outtime.getutcmonth ()) +1) var date = This.parsetime (par Seint (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) Outti Me.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 = t His.parsetime (parseint (Outtime.getdate ())) var hour = This.parsetime (parseint (Outtime.gethours ())) v AR minute = This.parsetime (parseint (Outtime.getminutes ())) var second = This.parsetime (parseint (Outtime.getseco NDS ()))}}else{outtime = new Date () outtime.setfullyear (parseint (Outtime.getfullyear ()) + test_y Ear) 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_min Ute) Outtime.setseconds (parseint (Outtime.getseconds ()) + Test_second) var month = this.parsetime (parseint (ou Ttime.getmonth ()) +1) var date = This.parsetime (parseint (Outtime.getdate ())) var hour = This.parsetime (Parsei NT (Outtime.gethours ())) var minute = This.parsetime (parseint (Outtime.getminutes ())) var second = This.parset IME (parseint (Outtime.getseconds ())} var year = Outtime.getfullyear () var ret = year+ '-' +month+ '-' +date+ ' +hour + ': ' +minute+ ': ' +second return ret}/* @desc: Find the time of year/month/day @param the time passed in, in the format: 2018|2018-01|2018-01-01 @return ret stime: Open Start time prefix, etime: end time suffix */this.timeswitch = function (timestamp) {if (/^\d{4}$/.test) {//year var stime = This.strtotime ( Time) var etime = This.strtotime (This.dateadd (' +1year ', time))}else if (/^\d{4}-{1}\d{1,2}$/.test (time)) {//month var stime = THIS.STrtotime (time) var etime = This.strtotime (This.dateadd (' +1month ', time))}else if (/^\d{4}-{1}\d{1,2}-{1}\d{1,2}$/ . Test (time)) {//day var stime = This.strtotime (time) var etime = This.strtotime (This.dateadd (' +1day ', Time)) }else{//Format error return false; } var ret = {stime:stime, etime:etime} return ret}/* @desc: time-friendly display function @param stamp time-prefix, 10-bit @return The time after the RET conversion is displayed */this.timefriend = function (stamp) {if (!stamp) {return '-'; var date = new Date (stamp*1000) var time = Math.Round (new date (). GetTime ()/1000) diff = Time-stamp if (diff <0) {return '-'; }else if (diff<60) {return diff+ ' seconds ago '}else if (diff<3600) {return Math.floor (DIFF/60) + ' minutes ago '}else if (diff<86400) {return Math.floor (diff/3600) + ' hour ago '}else if (diff<259200) {return Math.floor (diff/86 400) + ' days ago '}else{var year = This.parsetime (Date.getfullyear ()) var month = This.parsetime (dAte.getmonth () +1) var day = This.parsetime (Date.getdate ()) var hour = This.parsetime (Date.gethours ()) var minute = This.parsetime (Date.getminutes ()) var second = This.parsetime (Date.getseconds ()) var ret = yea r+ '-' +month+ '-' +day+ ' +hour+ ': ' +minute+ ': ' +second return ret}}}
Test:var datetime = new datetime()var ret1 = datetime.timetostr(1528593779)var ret2 = datetime.strtotime(‘2018‘)var ret3 = datetime.timediff(‘2017‘,‘2018-06‘)var ret4 = datetime.dateadd(‘-1year‘,‘2018‘)var ret5 = datetime.timeswitch(‘2018-06‘)var ret6 = datetime.timefriend(1528593779)console.log(ret1)console.log(ret2)console.log(ret3)console.log(ret4)console.log(ret5)console.log(ret6)
Output:2018-06-10 09:22:591514736000445824002017-01-01 00:00:00{ stime: ‘1527782400‘, etime: ‘1530374400‘ }1天前
A collection of common JavaScript time functions