diff --git a/pages/exchange/contract-history.vue b/pages/exchange/contract-history.vue index 1387b0b..8957ac1 100644 --- a/pages/exchange/contract-history.vue +++ b/pages/exchange/contract-history.vue @@ -17,7 +17,7 @@
{{ item.symbol }}/USDT
-
{{ item.ts |parseTime}}
+
{{ item.ts | parseTime}}
diff --git a/utils/class/date.js b/utils/class/date.js index 3ae9a7a..2dbe0f5 100644 --- a/utils/class/date.js +++ b/utils/class/date.js @@ -1,3 +1,166 @@ +// /** +// * 日期时间处理的工具库 +// * +// * @author lautin +// * @created 2019-11-19 11:36:02 +// */ +// function getTimeZoneOffset(time) { +// const date = new Date(time); +// // 获取时区偏移值,返回分钟数 +// // let offset = date.getTimezoneOffset(); +// let offset = 0; +// return time + offset * 60 * 1000; +// } + +// /** +// * 将时间戳转化成时间对象的方法 +// * @param {mixed} time 传入一个时间戳或者时间对象 +// */ +// function time2Date(time, isOffset = false) { + +// let date; + +// if (time.constructor == Date) { // 传入一个时间对象 +// date = time; + +// } else { // 传入一个时间戳 +// // 检测时间戳的长度,确保为ms +// if (time.toString().length <= 10) { +// time = Number(time) * 1000; +// } +// // 是否对时差进行转化 +// if (isOffset) { +// // time = getTimeZoneOffset(time); +// } + +// // 转化成日期时间对象 +// date = new Date(time); +// } + +// return date; +// } + + +// /** +// * 将指定日期格式化输出, +// * @param string|object time 输入日期,为一个Date.now()或者Date.UTC返回的时间戳 +// * @param string format 输出的格式 +// * @param boolean isOffset 是否考虑时区 +// */ +// function parseTime(time, isOffset = false, cformat = null) { + +// // 设置默认格式 +// // let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}'; +// // time = time + 8 * 3600; +// // const date = time2Date(time, isOffset); + +// // // 将日期时间值存入对象中 +// // const dataObj = { +// // y: date.getFullYear(), +// // m: date.getMonth() + 1, // 显示月份值需要+1 +// // d: date.getDate(), +// // h: date.getHours(), +// // i: date.getMinutes(), +// // s: date.getSeconds(), +// // a: date.getDay() +// // }; +// // // console.log(date); +// // // 星期值需要转化为中文 +// // dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a]; + +// // // 匹配{}中的y|m|d...部分,分别替换不同的值 +// // // const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => { +// // // // 由索引提取值 +// // // let value = dataObj[key]; +// // // // 给值添加前导0 +// // // if (segment.length > 0 && value < 10) value = '0' + value; +// // // return value || 0; +// // // }); +// // // time = time + 8 * 3600 * 1000; // 增加8小时 +// // const result = date.toJSON().substr(0, 19).replace('T', ' '); +// // // console.log(result); +// // return result; + + +// // 设置默认格式 +// // let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}'; +// let format = cformat || '{m}/{d}/{y} {h}:{i}:{s}'; + +// const date = time2Date(time, isOffset); + +// // 将日期时间值存入对象中 +// const dataObj = { +// y: date.getFullYear(), +// m: date.getMonth() + 1, // 显示月份值需要+1 +// d: date.getDate(), +// h: date.getHours(), +// i: date.getMinutes(), +// s: date.getSeconds(), +// a: date.getDay() +// }; + +// // 星期值需要转化为中文 +// dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a]; + +// // 匹配{}中的y|m|d...部分,分别替换不同的值 +// const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => { +// // 由索引提取值 +// let value = dataObj[key]; +// // 给值添加前导0 +// if (segment.length > 0 && value < 10) value = '0' + value; +// return value || 0; +// }); +// return result; +// } + + + +// /** +// * 发布日期的特定显示方式, +// * @param {string|number} time 显示日期的时间戳 +// * @param {string} option 可选参数显示日期 +// */ +// function pubTime(time, isOffset = false, format = null) { + +// const date = time2Date(time, isOffset); + +// const current = isOffset ? getTimeZoneOffset(Date.now()) : Date.now(); + +// // 计算时间的差值,返回s为单位的值 +// let diff = (current - date.valueOf()) / 1000; + +// // 2天以内显示距今时间 +// if (diff < 30) { // 30s- +// return '刚刚'; + +// } else if (diff < 3600) { // 1h- +// return Math.ceil(diff / 60) + '分钟前'; + +// } else if (diff < 3600 * 24) { // 1d- +// return Math.ceil(diff / 3600) + '小时前'; + +// } else if (diff < 3600 * 24 * 2) { // 2d- +// return '1天前'; + +// } else { // 超过2天显示发布日期 +// if (!format) format = '{y}年{m}月{d}日 {h}:{i}'; +// return parseTime(time, isOffset, format); +// } +// } + +// // 将方法写入构造函数 便于全局使用 +// Object.assign(Date, { +// time2Date, +// parseTime, +// pubTime, +// }); + +// export default{ +// time2Date, +// parseTime, +// pubTime +// } + /** * 日期时间处理的工具库 * @@ -7,9 +170,11 @@ function getTimeZoneOffset(time) { const date = new Date(time); // 获取时区偏移值,返回分钟数 - // let offset = date.getTimezoneOffset(); - let offset = 0; - return time + offset * 60 * 1000; + let offset = date.getTimezoneOffset(); + if(offset == 240){ + return time; + } + return time - 720 * 60 * 1000; } /** @@ -19,6 +184,7 @@ function getTimeZoneOffset(time) { function time2Date(time, isOffset = false) { let date; + date = time; if (time.constructor == Date) { // 传入一个时间对象 date = time; @@ -29,14 +195,12 @@ function time2Date(time, isOffset = false) { time = Number(time) * 1000; } // 是否对时差进行转化 - if (isOffset) { - // time = getTimeZoneOffset(time); - } - + // if (isOffset) { + time = getTimeZoneOffset(time); + // } // 转化成日期时间对象 date = new Date(time); } - return date; } @@ -50,69 +214,33 @@ function time2Date(time, isOffset = false) { function parseTime(time, isOffset = false, cformat = null) { // 设置默认格式 - // let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}'; - // time = time + 8 * 3600; - // const date = time2Date(time, isOffset); - - // // 将日期时间值存入对象中 - // const dataObj = { - // y: date.getFullYear(), - // m: date.getMonth() + 1, // 显示月份值需要+1 - // d: date.getDate(), - // h: date.getHours(), - // i: date.getMinutes(), - // s: date.getSeconds(), - // a: date.getDay() - // }; - // // console.log(date); - // // 星期值需要转化为中文 - // dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a]; - - // // 匹配{}中的y|m|d...部分,分别替换不同的值 - // // const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => { - // // // 由索引提取值 - // // let value = dataObj[key]; - // // // 给值添加前导0 - // // if (segment.length > 0 && value < 10) value = '0' + value; - // // return value || 0; - // // }); - // // time = time + 8 * 3600 * 1000; // 增加8小时 - // const result = date.toJSON().substr(0, 19).replace('T', ' '); - // // console.log(result); - // return result; - - - // 设置默认格式 - // let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}'; - let format = cformat || '{m}/{d}/{y} {h}:{i}:{s}'; - - const date = time2Date(time, isOffset); - - // 将日期时间值存入对象中 - const dataObj = { - y: date.getFullYear(), - m: date.getMonth() + 1, // 显示月份值需要+1 - d: date.getDate(), - h: date.getHours(), - i: date.getMinutes(), - s: date.getSeconds(), - a: date.getDay() - }; - - // 星期值需要转化为中文 - dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a]; - - // 匹配{}中的y|m|d...部分,分别替换不同的值 - const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => { - // 由索引提取值 - let value = dataObj[key]; - // 给值添加前导0 - if (segment.length > 0 && value < 10) value = '0' + value; - return value || 0; - }); - return result; -} + let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}'; + + const date = time2Date(time, isOffset); + // 将日期时间值存入对象中 + const dataObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, // 显示月份值需要+1 + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + }; + // 星期值需要转化为中文 + dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a]; + + // 匹配{}中的y|m|d...部分,分别替换不同的值 + const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => { + // 由索引提取值 + let value = dataObj[key]; + // 给值添加前导0 + if (segment.length > 0 && value < 10) value = '0' + value; + return value || 0; + }); + return result; +} /**