jquery 時間戳與日期轉換


(function($) {
    $.extend({
        myTime: {
            /**
             * 當前時間戳
             * @return <int>        unix時間戳(秒)  
             */
            CurTime: function(){
                return Date.parse(new Date())/1000;
            },
            /**              
             * 日期 轉換為 Unix時間戳
             * @param <string> 2014-01-01 20:20:20  日期格式              
             * @return <int>        unix時間戳(秒)              
             */
            DateToUnix: function(string) {
                var f = string.split(' ', 2);
                var d = (f[0] ? f[0] : '').split('-', 3);
                var t = (f[1] ? f[1] : '').split(':', 3);
                return (new Date(
                        parseInt(d[0], 10) || null,
                        (parseInt(d[1], 10) || 1) - 1,
                        parseInt(d[2], 10) || null,
                        parseInt(t[0], 10) || null,
                        parseInt(t[1], 10) || null,
                        parseInt(t[2], 10) || null
                        )).getTime() / 1000;
            },
            /**              
             * 時間戳轉換日期              
             * @param <int> unixTime    待時間戳(秒)              
             * @param <bool> isFull    返回完整時間(Y-m-d 或者 Y-m-d H:i:s)              
             * @param <int>  timeZone   時區              
             */
            UnixToDate: function(unixTime, isFull, timeZone) {
                if (typeof (timeZone) == 'number')
                {
                    unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60;
                }
                var time = new Date(unixTime * 1000);
                var ymdhis = "";
                ymdhis += time.getUTCFullYear() + "-";
                ymdhis += (time.getUTCMonth()+1) + "-";
                ymdhis += time.getUTCDate();
                if (isFull === true)
                {
                    ymdhis += " " + time.getUTCHours() + ":";
                    ymdhis += time.getUTCMinutes() + ":";
                    ymdhis += time.getUTCSeconds();
                }
                return ymdhis;
            }
        }
    });
})(jQuery);

用法
console.log($.myTime.DateToUnix('2014-5-15 20:20:20'));
console.log($.myTime.UnixToDate(1325347200));

 

1. 將時間戳轉換成日期格式:

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

注意:如果是Unix時間戳記得乘以1000。比如:PHP函數time()獲得的時間戳就要乘以1000。

 

2. 將日期格式轉換成時間戳:

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

  以上三種獲取方式的區別:

  第一、第二種:會精確到毫秒

  第三種:只能精確到秒,毫秒用000替代

  以上三個輸出結果可觀察其區別

  注意:獲取到的時間戳除以1000就可獲得Unix時間戳,就可傳值給后台得到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM