(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时间戳,就可传值给后台得到。