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"
}