Browse Source

修改日期

master
liaoxinyu 11 months ago
parent
commit
6819e37e1a
  1. 2
      manifest.json
  2. 4
      pages/assets/records.vue
  3. 154
      utils/class/date.js

2
manifest.json

@ -1,6 +1,6 @@
{
"name" : "Mrbcoin",
"appid" : "__UNI__88A589F",
"appid" : "__UNI__50D23E1",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : 100,

4
pages/assets/records.vue

@ -25,7 +25,7 @@
<tbody>
<tr class="color-light trChange p-x-md rounded-md" v-for="item in list" :key="item.id">
<td class="p-y-xs p-l-md rounded-tl-sm rounded-bl-sm fn-sm">
{{ item.datetime | parseTime }}
{{ parseTime1(item.datetime) }}
</td>
<td v-if="type=='draw'">
<view>{{ item.status_text }}</view>
@ -57,6 +57,7 @@
<script>
import Wallet from "@/api/wallet";
import formData from "@/utils/class/date";
import date from "@/utils/class/date.js";
export default {
data() {
return {
@ -72,6 +73,7 @@ import formData from "@/utils/class/date";
},
},
methods: {
parseTime1: date.parseTime1,
//
getWithdrawRecords() {
let data = {

154
utils/class/date.js

@ -4,11 +4,89 @@
* @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;
// }
function getTimeZoneOffset(time) {
const date = new Date(time);
// 获取时区偏移值,返回分钟数
// let offset = date.getTimezoneOffset();
let offset = 0;
let offset = date.getTimezoneOffset();
// let offset = 0;
return time + offset * 60 * 1000;
}
@ -28,30 +106,58 @@ function time2Date(time, isOffset = false) {
if (time.toString().length <= 10) {
time = Number(time) * 1000;
}
let timeN;
// 是否对时差进行转化
if (isOffset) {
// time = getTimeZoneOffset(time);
}
timeN = getTimeZoneOffset1(time);
}else{
// 这也是对时差进行转换,不需要在每个处理时间格式的组件中修改isOffset为true
timeN = time-(-28800000)+(new Date(new Date().getTime()).getTimezoneOffset()* 60 * 1000);
}
// 转化成日期时间对象
date = new Date(time);
date = new Date(timeN);
}
return date;
}
function parseTime1(time, isOffset = false, cformat = null) {
// 设置默认格式
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s} {w}';
// time = time + 8 * 3600;
const date = time2Date(time, isOffset);
/**
* 将指定日期格式化输出
* @param string|object time 输入日期为一个Date.now()或者Date.UTC返回的时间戳
* @param string format 输出的格式
* @param boolean isOffset 是否考虑时区
*/
// 将日期时间值存入对象中
const dataObj = {
y: date.getFullYear(),
m: date.getMonth() + 1, // 显示月份值需要+1
d: date.getDate(),
h: date.getHours() % 12 || 12,
i: date.getMinutes(),
s: date.getSeconds(),
w: date.getHours() >= 12 ? 'PM' : 'AM',
a: date.getDay()
};
console.log(date);
// 星期值需要转化为中文
dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a];
// 匹配{}中的y|m|d...部分,分别替换不同的值
const result = format.replace(/{(y|m|d|h|i|s|a|w)+}/g, (segment, key) => {
// 由索引提取值
let value = dataObj[key];
// 给值添加前导0
if (segment.length > 0 && value < 10) value = '0' + value;
return value || 0;
});
return result;
}
function parseTime(time, isOffset = false, cformat = null) {
// 设置默认格式
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
time = time + 8 * 3600;
// time = time + 8 * 3600;
const date = time2Date(time, isOffset);
// 将日期时间值存入对象中
@ -69,21 +175,15 @@ function parseTime(time, isOffset = false, cformat = null) {
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);
const result = format.replace(/{(y|m|d|h|i|s|a|w)+}/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 显示日期的时间戳
@ -122,10 +222,12 @@ Object.assign(Date, {
time2Date,
parseTime,
pubTime,
parseTime1
});
export default{
time2Date,
parseTime,
pubTime
pubTime,
parseTime1
}

Loading…
Cancel
Save