您好,登錄后才能下訂單哦!
本文實例為大家分享了微信小程序?qū)崿F(xiàn)日期格式化和倒計時的具體代碼,供大家參考,具體內(nèi)容如下
首先看看日期怎么格式化
第一種:
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小時 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }
然后是調(diào)用this.value1=new Date().Format("yyyy-MM-dd HH:MM:SS")
第二種
1.中國標(biāo)準(zhǔn)時間格式化:
formatDateTime:function(theDate) { var _hour = theDate.getHours(); var _minute = theDate.getMinutes(); var _second = theDate.getSeconds(); var _year = theDate.getFullYear() var _month = theDate.getMonth(); var _date = theDate.getDate(); if (_hour < 10) { _hour ="0" + _hour } if (_minute < 10) { _minute = "0" + _minute } if (_second < 10) { _second = "0" + _second } _month = _month + 1 if (_month < 10) { _month = "0" + _month; } if (_date < 10) { _date ="0" + _date } var time= _year + "-" + _month + "-" + _date + " " + _hour + ":" + _minute + ":" + _second; // var time = new Date(); // var formatTime = formatDateTime(time); // 返回結(jié)果: // Tue Jun 06 2017 15:31:09 GMT+ 0800(中國標(biāo)準(zhǔn)時間) // 2017 - 06 - 06 15:31:09 //clock為在data中定義的空變量,存放轉(zhuǎn)化好的日期 this.setData({ clock: time }) },
2、把格式化時間轉(zhuǎn)換為毫秒數(shù)
var formatTimeS = new Date('2017-06-06 15:31:09').getTime();
返回結(jié)果:1496734269900
3、把毫秒數(shù)轉(zhuǎn)換為標(biāo)準(zhǔn)時間
var formatTimeS = new Date(1496734269900);
返回結(jié)果:Tue Jun 06 201715:31:09 GMT+0800(中國標(biāo)準(zhǔn)時間)
二、實現(xiàn)倒計時
//倒計時:其中time_canshu為傳入的毫秒數(shù) date_format: function (time_canshu) { // let formatTime1 = new Date().getTime(); // let formatTime2 = new Date('2018-04-24 15:31:09').getTime(); // let formatTimeS = new Date(formatTime2 - formatTime1); var none = '00:00:00'; if (formatTimeS<=0){ this.setData({ clock: none })} else { // 秒數(shù) letsecond = Math.floor(time_canshu / 1000); // 小時位 lethr = Math.floor(second / 3600); // 分鐘位 letmin = Math.floor((second - hr * 3600) /60); // 秒位 letsec = second % 60;// equal to => var sec = second % 60; if (hr <= 9) hr ='0' + hr; if (min <= 9) min ='0' + min; if (sec <= 9) sec ='0' + sec; lettime = hr + ":" + min + ":" + sec + " "; this.setData({ clock: time }) } },
時間戳轉(zhuǎn)化為日期格式函數(shù)
//時間戳轉(zhuǎn)化為日期格式 function timestampToTime(timestamp) { var date = new Date(timestamp * 1000);//時間戳為10位需*1000,時間戳為13位的話不需乘1000 var Y = date.getFullYear() + '-'; var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; var D = date.getDate() + ' '; var h = date.getHours() + ':'; var m = date.getMinutes() + ':'; var s = date.getSeconds(); return Y+M+D+h+m+s; } timestampToTime(1403058804); console.log(timestampToTime(1403058804));//2014-06-18 10:33:24 //日期格式轉(zhuǎn)化為時間戳 var date = new Date('2014-04-23 18:55:49:123'); // 有三種方式獲取 var time1 = date.getTime(); var time2 = date.valueOf(); var time3 = Date.parse(date); console.log(time1);//1398250549123 console.log(time2);//1398250549123 console.log(time3);//1398250549000 //以上三種獲取方式的區(qū)別:第一、第二種:會精確到毫秒第三種:只能精確到秒,毫秒用000替代以上三個輸出結(jié)果可觀察其區(qū)別注意:獲取到的時間戳除以1000就可獲得Unix時間戳,就可傳值給后臺得到。
分/秒轉(zhuǎn)化為天時分
secondToDate (result) { if (result > 60) { let d = parseInt(Math.floor(result / 86400)) let h = d > 0? Math.floor((result - d * 86400) / 3600): Math.floor(result / 3600); let m = h > 0? Math.floor((result - d * 86400 - h * 3600) / 60): Math.floor(result / 60); return d + '天:' + h + '時:' + m + '分' } else { return result + '秒' } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。