js中经常会遇到字节戳和时间戳的转换,在这里写了几个方法直接使用,一方面给有需要的人用,另一方面自己忘了的时候回来看!
1.字节戳转换格式
function bytesToSize(bytes) {
if (bytes === 0) return '0 B';
var k = 1024;
var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
var i = Math.floor(Math.log(bytes) / Math.log(k));
return (bytes / Math.pow(k, i)).toFixed(2) + ' ' + sizes[i];
//return (bytes / Math.pow(k, i)).toPrecision(5) + ' ' + sizes[i];
}
2.时间戳转换字符串
方案一:
function DateFormat(data) { //data=1503459375
var newDate = new Date(); //Wed Aug 23 2017 11:36:15 GMT+0800 (中国标准时间)
newDate.setTime(parseInt(data) * 1000); //1503459375000
var str = newDate.toISOString(); // "2017-08-23T03:36:15.000Z"
var stra = str.substring(0, 10); // "2017-08-23"
var strb = newDate.toTimeString(); // "11:36:15 GMT+0800 (中国标准时间)"
var substr = strb.substring(0, 8); // "11:36:15"
var string = stra + " " + substr; //"2017-08-23 11:36:15"
return string; //"2017-08-23 11:36:15"
}
方案二:
function add0(m) { return m<10 ? '0'+m : m }
function format(data){ //data有两种情况,10位数的和13位数的
var parseData = parseInt(data).toString().length>10 ? parseInt(data) : new Date().setTime(parseInt(data) * 1000) ;
var time = new Date(parseData); // Wed Aug 23 2017 11:36:15 GMT+0800 (中国标准时间)
var y = time.getFullYear(); //2017
var m = time.getMonth()+1; //8
var d = time.getDate(); //23
var h = time.getHours(); //11
var mm = time.getMinutes(); //36
var s = time.getSeconds(); //15
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s); // "2017-08-23 11:36:15"
}