123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * 将时间戳转换成日期格式
- * @param {long,时间戳} timestamp
- */
- function timeToYYYY_MM_DD_HH_mm_ss(timestamp) {
- if(("" + timestamp).length == 10){
- timestamp = timestamp * 1000;
- }
- var date = new Date(timestamp);//时间戳为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() < 10 ? '0'+date.getDate()+ ' ' : date.getDate()+ ' ';
- var h = date.getHours() < 10 ? '0'+date.getHours()+ ':' : date.getHours()+ ':';
- var m = date.getMinutes() < 10 ? '0'+date.getMinutes()+ ':' : date.getMinutes()+ ':';
- var s = date.getSeconds()< 10 ? '0'+date.getSeconds() : date.getSeconds();
- return Y+M+D+h+m+s;
- }
- /**
- * ArrayBuffer转为字符串,参数为ArrayBuffer对象
- * @param {ArrayBuffer} buf
- */
- function ab16str(buf) {
- return String.fromCharCode.apply(null, new Uint16Array(buf));
- }
-
- /**
- * 字符串转为ArrayBuffer对象,参数为字符串
- * @param {string} str
- */
- function str16ab(str) {
- var buf = new ArrayBuffer(str.length * 2); // 每个字符占用2个字节
- var bufView = new Uint16Array(buf);
- for (var i = 0, strLen = str.length; i < strLen; i++) {
- bufView[i] = str.charCodeAt(i);
- }
- return buf;
- }
- /**
- * 字符编码数值对应的存储长度:
- * UCS-2编码(16进制) UTF-8 字节流(二进制)
- * 0000 - 007F 0xxxxxxx (1字节)
- * 0080 - 07FF 110xxxxx 10xxxxxx (2字节)
- * 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx (3字节)
- */
- String.prototype.getBytesLength = function() {
- var totalLength = 0;
- var charCode;
- for (var i = 0; i < this.length; i++) {
- charCode = this.charCodeAt(i);
- if (charCode < 0x007f) {
- totalLength++;
- } else if ((0x0080 <= charCode) && (charCode <= 0x07ff)) {
- totalLength += 2;
- } else if ((0x0800 <= charCode) && (charCode <= 0xffff)) {
- totalLength += 3;
- } else{
- totalLength += 4;
- }
- }
- return totalLength;
- }
|