Browse Source

固定位美国时间

master
liaoxinyu 2 years ago
parent
commit
53ce9e3581
  1. 2
      pages/exchange/contract-history.vue
  2. 218
      utils/class/date.js

2
pages/exchange/contract-history.vue

@ -17,7 +17,7 @@
<div>
<div class="color-light fn-20">{{ item.symbol }}/USDT</div>
<!-- <div class="fn-10">{{ item.created_at }}</div> -->
<div class="fn-10">{{ item.ts |parseTime}}</div>
<div class="fn-10">{{ item.ts | parseTime}}</div>
</div>
</div>
<div class="d-flex">

218
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,44 +214,9 @@ 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}';
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
const date = time2Date(time, isOffset);
// 将日期时间值存入对象中
const dataObj = {
y: date.getFullYear(),
@ -114,7 +243,6 @@ function parseTime(time, isOffset = false, cformat = null) {
}
/**
* 发布日期的特定显示方式
* @param {string|number} time 显示日期的时间戳

Loading…
Cancel
Save