1. 程式人生 > >微信小程式--日期格式化和實現倒計時

微信小程式--日期格式化和實現倒計時

首先看看日期怎麼格式化

第一種:

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;

}

然後是呼叫this.value1=new Date().Format("yyyy-MM-dd HH:MM:SS")

第二種1.中國標準時間格式化:

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);
// 返回結果:
// Tue Jun 06 2017 15:31:09 GMT+ 0800(中國標準時間)
// 2017 - 06 - 06 15:31:09
//clock為在data中定義的空變數,存放轉化好的日期this.setData({clock: time})},2、把格式化時間轉換為毫秒數
var formatTimeS = new Date('2017-06-06 15:31:09').getTime();
返回結果:1496734269900
3、把毫秒數轉換為標準時間
var formatTimeS = new Date(1496734269900);
返回結果:
Tue Jun 06 201715:31:09 GMT+0800(中國標準時間)二:實現倒計時//倒計時:其中time_canshu為傳入的毫秒數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{// 秒數 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})}},