1. 程式人生 > >JS將秒數換算成時分秒 以及轉化為年月日 時分秒

JS將秒數換算成時分秒 以及轉化為年月日 時分秒

<script language="javascript">
    /**
     * 將秒數換成時分秒格式
     * 作者:龍周峰
     */
    function formatSeconds(value) {
        var secondTime = parseInt(value);// 秒
        var minuteTime = 0;// 分
        var hourTime = 0;// 小時
        if(secondTime > 60) {//如果秒數大於60,將秒數轉換成整數
            //獲取分鐘,除以60取整數,得到整數分鐘
            minuteTime = parseInt(secondTime / 60);
            //獲取秒數,秒數取佘,得到整數秒數
            secondTime = parseInt(secondTime % 60);
            //如果分鐘大於60,將分鐘轉換成小時
            if(minuteTime > 60) {
                //獲取小時,獲取分鐘除以60,得到整數小時
                hourTime = parseInt(minuteTime / 60);
                //獲取小時後取佘的分,獲取分鐘除以60取佘的分
                minuteTime = parseInt(minuteTime % 60);
            }
        }
        var result = "" + parseInt(secondTime) + "秒";

        if(minuteTime > 0) {
            result = "" + parseInt(minuteTime) + "分" + result;
        }
        if(hourTime > 0) {
            result = "" + parseInt(hourTime) + "小時" + result;
        }
        return result;
    }
    console.log(formatSeconds(10000002))
</script>
將秒數轉化成 XX小時XX分XX秒改革的用法:Sub.timeTransf = function(e,data) {     var time=e.data('time');     e.html(formatSeconds(time));     function formatSeconds(value) {         var secondTime = parseInt(value);          var minuteTime = 0;          var hourTime = 0;          if (secondTime > 60) {              minuteTime = parseInt(secondTime / 60);             secondTime = parseInt(secondTime % 60);             if (minuteTime > 60) {                 hourTime = parseInt(minuteTime / 60);                 minuteTime = parseInt(minuteTime % 60);             }         }         var result = "" + parseInt(secondTime);         if (minuteTime > 0) {             if(minuteTime<10){                  result = "0" + parseInt(minuteTime) + ":" + result;              }else{                  result = "" + parseInt(minuteTime) + ":" + result;              }                     }         if (hourTime > 0) {             result = "" + parseInt(hourTime) + ":" + result;         }         return result;     } }

將秒數轉化為 XX小時0X分0X秒

將時間搓轉化為 2018-09-20 14:10:00這種格式的:

  formatDateTime: function(inputTime) {
        var date = new Date(inputTime);
        var y = date.getFullYear();
        var m = date.getMonth() + 1;
        m = m < 10 ? ('0' + m) : m;
        var d = date.getDate();
        d = d < 10 ? ('0' + d) : d;
        var h = date.getHours();
        h = h < 10 ? ('0' + h) : h;
        var minute = date.getMinutes();
        var second = date.getSeconds();
        minute = minute < 10 ? ('0' + minute) : minute;
        second = second < 10 ? ('0' + second) : second;
        return y+'-'+m+'-'+d+' '+' '+h+':'+minute+':'+second;

    },

注意:這裡的時間是毫秒,如果返回的時間是秒數的話,先轉化為毫秒 (m*1000)

格式化時間:

//格式化時間
function ReloadPubdate(string) {
    var re = /^(\d{2,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
    if (re.test(string)) {
        var t = string.match(re);
        var d = new Date(t[1], t[2] - 1, t[3], t[4], t[5], t[6]);
        var c = new Date();
        var s = (c.getTime() - d.getTime()) / 1000;
        var m = Math.floor(s / 60);
        var h = Math.floor(s / 3600);
        var d = Math.floor(s / 86400);
        var n = Math.floor(s / (86400 * 30));
        var y = Math.floor(s / (86400 * 365));
        if (y > 0) return y + "年以前";
        if (n > 0) return n + "個月以前";
        if (d > 0) return d + "天以前";
        if (h > 0) return h + "小時以前";
        if (m > 0) return m + "分鐘以前";
    }
    return "剛剛";
}

傳入的string格式是: console.log(ReloadPubdate("2018-10-10 16:55:56")) 

適用場景: