Browse Source

所有时间变为12进制,并且显示上午和下午

master
liaoxinyu 1 year ago
parent
commit
55bfb88a63
  1. 6
      src/components/NewMsg.vue
  2. 40
      src/utils/class/date.js
  3. 2
      src/views/contract/handicap.vue
  4. 2
      src/views/contract/handicapRight.vue
  5. 4
      src/views/exchange/book-trades.vue
  6. 7
      src/views/exchange/order-list.vue
  7. 4
      src/views/wallet/contract-assets.vue

6
src/components/NewMsg.vue

@ -39,7 +39,7 @@
</div>
<div class="content">
<p class="text_title">{{ item.data.title }}</p>
<p class="sub-text text-muted">{{ item.created_at }}</p>
<p class="sub-text text-muted">{{ convertTo12HourFormat(item.created_at) }}</p>
</div>
</a>
<div class="text-center sub-text text-muted" v-if="!more">
@ -56,13 +56,14 @@
</div>
</div>
<v-box v-model="showMsg" :title="msgDetail.data && msgDetail.data.title">
<p class="sub-text text-muted">{{ msgDetail.created_at }}</p>
<p class="sub-text text-muted">{{ msgDetail.created_at?convertTo12HourFormat(msgDetail.created_at):msgDetail.created_at }}</p>
{{ msgDetail.data && msgDetail.data.content }}
</v-box>
</li>
</template>
<script>
import Member from "@/api/member";
import date from "@/utils/class/date.js";
export default {
name: "new-msg",
data() {
@ -81,6 +82,7 @@ export default {
}
},
methods: {
convertTo12HourFormat: date.convertTo12HourFormat,
reset() {
this.page = 1;
this.list = [];

40
src/utils/class/date.js

@ -48,7 +48,7 @@ function time2Date(time, isOffset = false) {
function parseTime(time, isOffset = false, cformat = null) {
// 设置默认格式
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s} {a}';
const date = time2Date(time, isOffset);
@ -57,17 +57,18 @@ function parseTime(time, isOffset = false, cformat = null) {
y: date.getFullYear(),
m: date.getMonth() + 1, // 显示月份值需要+1
d: date.getDate(),
h: date.getHours(),
h: date.getHours() % 12 || 12,
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
a: date.getHours() >= 12 ? 'PM' : 'AM',
w: date.getDay()
};
// 星期值需要转化为中文
dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a];
dataObj.w = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.w];
// 匹配{}中的y|m|d...部分,分别替换不同的值
const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => {
const result = format.replace(/{(y|m|d|h|i|s|a|w)+}/g, (segment, key) => {
// 由索引提取值
let value = dataObj[key];
// 给值添加前导0
@ -111,15 +112,40 @@ function pubTime(time, isOffset = false, format = null) {
}
}
/**
* 接口时间转换成12进制
* @param {string|number} dateTimeStr 接口返回的时间和日期
*/
function convertTo12HourFormat(dateTimeStr) {
// 解析输入的日期时间字符串
const date = new Date(dateTimeStr.replace(' ', 'T')); // 使用 T 将字符串转换为 ISO 格式
// 获取各个部分
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份要加1,并填充为2位
const day = String(date.getDate()).padStart(2, '0'); // 填充为2位
let hours = date.getHours();
const minutes = String(date.getMinutes()).padStart(2, '0'); // 填充为2位
const seconds = String(date.getSeconds()).padStart(2, '0'); // 填充为2位
// 计算12小时制的小时和 AM/PM
const ampm = hours >= 12 ? 'PM' : 'AM';//PM代表下午,AM代表上午。
hours = String(hours % 12 || 12).padStart(2, '0'); // 0转换为12
// 格式化输出
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds} ${ampm}`;
}
// 将方法写入构造函数 便于全局使用
Object.assign(Date, {
time2Date,
parseTime,
pubTime,
pubTime
});
export default{
time2Date,
parseTime,
pubTime
pubTime,
convertTo12HourFormat
}

2
src/views/contract/handicap.vue

@ -107,7 +107,7 @@
</div>
<div class="d-flex fn-14" v-for="(item, idx) in tradeList.slice(0,30)" :key="idx">
<div class="w-10/24">
{{ parseTime(item.ts, false, "{h}:{i}:{s}") }}
{{ parseTime(item.ts, false, "{h}:{i}:{s} {a}") }}
</div>
<div class="w-7/24 increace">
{{ item.price }}

2
src/views/contract/handicapRight.vue

@ -19,7 +19,7 @@
</div>
<div class="d-flex fn-12" v-for="(item, idx) in tradeList" :key="idx">
<div class="w-10/24">
{{ parseTime(item.ts, false, "{h}:{i}:{s}") }}
{{ parseTime(item.ts, false, "{h}:{i}:{s} {a}") }}
</div>
<div class="w-7/24" :class="item.direction=='buy'?'increace':'decreace'">
{{ item.price }}

4
src/views/exchange/book-trades.vue

@ -191,7 +191,7 @@ export default {
n.price = Math.omitTo(n.price, this.priceDecimals);
n.amount = Math.omitTo(n.amount, this.qtyDecimals);
n.time = Date.parseTime(n.ts, false, "{h}:{i}:{s}");
n.time = Date.parseTime(n.ts, false, "{h}:{i}:{s} {a}");
//
if (++count == this.trade.length - 1) {
@ -199,7 +199,7 @@ export default {
m.changeRate = 1;
m.price = Math.omitTo(m.price, this.priceDecimals);
m.amount = Math.omitTo(m.amount, this.qtyDecimals);
m.time = Date.parseTime(m.ts, false, "{h}:{i}:{s}");
m.time = Date.parseTime(m.ts, false, "{h}:{i}:{s} {a}");
}
});
} else {

7
src/views/exchange/order-list.vue

@ -114,7 +114,7 @@
<tbody>
<template v-for="(item,index) in ordersHistory.data">
<tr class="text-nowrap" :key="item.id" :name="item.entrust_type+'_'+item.id+'_'+index" slot="title" @click="handleChange(item)">
<td>{{item.created_at}}</td>
<td>{{convertTo12HourFormat(item.created_at)}}</td>
<td>{{item.symbol}}</td>
<template v-if="item.entrust_type == 1">
<td class="green">{{$t("common.buy-in")}}</td>
@ -194,7 +194,8 @@
<script>
import Order from "@/api/order";
import math from "@/utils/class/math.js";
import date from "@/utils/class/date.js";
export default {
props: [
"ordersOpen",
@ -213,6 +214,8 @@ export default {
};
},
methods: {
omitTo: math.omitTo,
convertTo12HourFormat: date.convertTo12HourFormat,
toggle(name) {
this.currentTab = name;
//

4
src/views/wallet/contract-assets.vue

@ -36,7 +36,7 @@
<tbody>
<tr v-for="item in list" :key="item.id">
<td></td>
<td>{{ item.created_at }}</td>
<td>{{ convertTo12HourFormat(item.created_at) }}</td>
<td>{{ item.log_type_text }}</td>
<td
:class="{
@ -71,6 +71,7 @@
</template>
<script>
import wallet from "../../api/wallet.js";
import date from "@/utils/class/date.js";
export default {
name: "contract-assets",
data() {
@ -83,6 +84,7 @@ export default {
this.getList();
},
methods: {
convertTo12HourFormat: date.convertTo12HourFormat,
changePageCurrent(idx) {
this.CurrentObj.page = idx;
this.getList();

Loading…
Cancel
Save