|
@@ -8,23 +8,23 @@
|
|
|
* @param {string} cFormat
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
-import dayjs from 'dayjs'
|
|
|
-export function parseTime (time, cFormat) {
|
|
|
+import dayjs from "dayjs";
|
|
|
+export function parseTime(time, cFormat) {
|
|
|
if (arguments.length === 0) {
|
|
|
- return null
|
|
|
+ return null;
|
|
|
}
|
|
|
- const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
|
|
|
- let date
|
|
|
- if (typeof time === 'object') {
|
|
|
- date = time
|
|
|
+ const format = cFormat || "{y}-{m}-{d} {h}:{i}:{s}";
|
|
|
+ let date;
|
|
|
+ if (typeof time === "object") {
|
|
|
+ date = time;
|
|
|
} else {
|
|
|
- if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
|
|
|
- time = parseInt(time)
|
|
|
+ if (typeof time === "string" && /^[0-9]+$/.test(time)) {
|
|
|
+ time = parseInt(time);
|
|
|
}
|
|
|
- if ((typeof time === 'number') && (time.toString().length === 10)) {
|
|
|
- time = time * 1000
|
|
|
+ if (typeof time === "number" && time.toString().length === 10) {
|
|
|
+ time = time * 1000;
|
|
|
}
|
|
|
- date = new Date(time)
|
|
|
+ date = new Date(time);
|
|
|
}
|
|
|
const formatObj = {
|
|
|
y: date.getFullYear(),
|
|
@@ -34,17 +34,19 @@ export function parseTime (time, cFormat) {
|
|
|
i: date.getMinutes(),
|
|
|
s: date.getSeconds(),
|
|
|
a: date.getDay()
|
|
|
- }
|
|
|
+ };
|
|
|
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
|
|
|
- let value = formatObj[key]
|
|
|
+ let value = formatObj[key];
|
|
|
// Note: getDay() returns 0 on Sunday
|
|
|
- if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
|
|
|
+ if (key === "a") {
|
|
|
+ return ["日", "一", "二", "三", "四", "五", "六"][value];
|
|
|
+ }
|
|
|
if (result.length > 0 && value < 10) {
|
|
|
- value = '0' + value
|
|
|
+ value = "0" + value;
|
|
|
}
|
|
|
- return value || 0
|
|
|
- })
|
|
|
- return time_str
|
|
|
+ return value || 0;
|
|
|
+ });
|
|
|
+ return time_str;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -52,41 +54,41 @@ export function parseTime (time, cFormat) {
|
|
|
* @param {string} option
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
-export function formatTime (time, option) {
|
|
|
- if (('' + time).length === 10) {
|
|
|
- time = parseInt(time) * 1000
|
|
|
+export function formatTime(time, option) {
|
|
|
+ if (("" + time).length === 10) {
|
|
|
+ time = parseInt(time) * 1000;
|
|
|
} else {
|
|
|
- time = +time
|
|
|
+ time = +time;
|
|
|
}
|
|
|
- const d = new Date(time)
|
|
|
- const now = Date.now()
|
|
|
+ const d = new Date(time);
|
|
|
+ const now = Date.now();
|
|
|
|
|
|
- const diff = (now - d) / 1000
|
|
|
+ const diff = (now - d) / 1000;
|
|
|
|
|
|
if (diff < 30) {
|
|
|
- return '刚刚'
|
|
|
+ return "刚刚";
|
|
|
} else if (diff < 3600) {
|
|
|
// less 1 hour
|
|
|
- return Math.ceil(diff / 60) + '分钟前'
|
|
|
+ return Math.ceil(diff / 60) + "分钟前";
|
|
|
} else if (diff < 3600 * 24) {
|
|
|
- return Math.ceil(diff / 3600) + '小时前'
|
|
|
+ return Math.ceil(diff / 3600) + "小时前";
|
|
|
} else if (diff < 3600 * 24 * 2) {
|
|
|
- return '1天前'
|
|
|
+ return "1天前";
|
|
|
}
|
|
|
if (option) {
|
|
|
- return parseTime(time, option)
|
|
|
+ return parseTime(time, option);
|
|
|
} else {
|
|
|
return (
|
|
|
d.getMonth() +
|
|
|
1 +
|
|
|
- '月' +
|
|
|
+ "月" +
|
|
|
d.getDate() +
|
|
|
- '日' +
|
|
|
+ "日" +
|
|
|
d.getHours() +
|
|
|
- '时' +
|
|
|
+ "时" +
|
|
|
d.getMinutes() +
|
|
|
- '分'
|
|
|
- )
|
|
|
+ "分"
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -94,71 +96,97 @@ export function formatTime (time, option) {
|
|
|
* @param {string} url
|
|
|
* @returns {Object}
|
|
|
*/
|
|
|
-export function param2Obj (url) {
|
|
|
- const search = url.split('?')[1]
|
|
|
+export function param2Obj(url) {
|
|
|
+ const search = url.split("?")[1];
|
|
|
if (!search) {
|
|
|
- return {}
|
|
|
+ return {};
|
|
|
}
|
|
|
return JSON.parse(
|
|
|
'{"' +
|
|
|
- decodeURIComponent(search)
|
|
|
- .replace(/"/g, '\\"')
|
|
|
- .replace(/&/g, '","')
|
|
|
- .replace(/=/g, '":"')
|
|
|
- .replace(/\+/g, ' ') +
|
|
|
- '"}'
|
|
|
- )
|
|
|
+ decodeURIComponent(search)
|
|
|
+ .replace(/"/g, '\\"')
|
|
|
+ .replace(/&/g, '","')
|
|
|
+ .replace(/=/g, '":"')
|
|
|
+ .replace(/\+/g, " ") +
|
|
|
+ '"}'
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
-export function countDown (time) {
|
|
|
+export function countDown(time) {
|
|
|
var s = 0;
|
|
|
- var hour = time.split(':')[0];
|
|
|
- var min = time.split(':')[1];
|
|
|
- var sec = time.split(':')[2];
|
|
|
+ var hour = time.split(":")[0];
|
|
|
+ var min = time.split(":")[1];
|
|
|
+ var sec = time.split(":")[2];
|
|
|
s = Number(hour * 3600) + Number(min * 60) + Number(sec);
|
|
|
return s;
|
|
|
}
|
|
|
|
|
|
-export function formatDuring (mss) {
|
|
|
-
|
|
|
+export function formatDuring(mss) {
|
|
|
var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
|
|
|
|
|
var minutes = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60));
|
|
|
|
|
|
var seconds = (mss % (1000 * 60)) / 1000;
|
|
|
|
|
|
- hours = hours < 10 ? ('0' + hours) : hours;
|
|
|
+ hours = hours < 10 ? "0" + hours : hours;
|
|
|
|
|
|
- minutes = minutes < 10 ? ('0' + minutes) : minutes;
|
|
|
+ minutes = minutes < 10 ? "0" + minutes : minutes;
|
|
|
|
|
|
- seconds = seconds < 10 ? ('0' + seconds) : seconds;
|
|
|
+ seconds = seconds < 10 ? "0" + seconds : seconds;
|
|
|
|
|
|
return hours + ":" + minutes + ":" + seconds;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
export const objectToOptions = data => {
|
|
|
- const options = []
|
|
|
+ const options = [];
|
|
|
for (const key in data) {
|
|
|
if (data.hasOwnProperty(key)) {
|
|
|
- const item = data[key]
|
|
|
- const upkey = key.toLocaleUpperCase()
|
|
|
+ const item = data[key];
|
|
|
+ const upkey = key.toLocaleUpperCase();
|
|
|
options.push({
|
|
|
label: item,
|
|
|
- value: (upkey === 'TRUE' || upkey === 'FALSE' ? upkey === 'TRUE' : key)
|
|
|
- })
|
|
|
+ value: upkey === "TRUE" || upkey === "FALSE" ? upkey === "TRUE" : key
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
- return options
|
|
|
-}
|
|
|
+ return options;
|
|
|
+};
|
|
|
|
|
|
-export const getTimes = (times, keys = [], format = 'YYYY-MM-DD') => {
|
|
|
+export const getTimes = (times, keys = [], format = "YYYY-MM-DD") => {
|
|
|
if (times && times.length) {
|
|
|
return {
|
|
|
- [keys[0] || 'start']: dayjs(times[0]).isValid() ? dayjs(times[0]).format(format) : '',
|
|
|
- [keys[1] || 'end']: dayjs(times[1]).isValid() ? dayjs(times[1]).format(format) : '',
|
|
|
- }
|
|
|
+ [keys[0] || "start"]: dayjs(times[0]).isValid()
|
|
|
+ ? dayjs(times[0]).format(format)
|
|
|
+ : "",
|
|
|
+ [keys[1] || "end"]: dayjs(times[1]).isValid()
|
|
|
+ ? dayjs(times[1]).format(format)
|
|
|
+ : ""
|
|
|
+ };
|
|
|
}
|
|
|
- return {}
|
|
|
-}
|
|
|
+ return {};
|
|
|
+};
|
|
|
|
|
|
+export const getTimeFormat = (times, keys = [], format = "YYYY-MM-DD") => {
|
|
|
+ if (times && times.length) {
|
|
|
+ if (format === "YYYY-MM-DD") {
|
|
|
+ return {
|
|
|
+ [keys[0] || "start"]: dayjs(times[0]).isValid()
|
|
|
+ ? dayjs(times[0]).format(format) + " 00:00:00"
|
|
|
+ : "",
|
|
|
+ [keys[1] || "end"]: dayjs(times[1]).isValid()
|
|
|
+ ? dayjs(times[1]).format(format) + " 23:59:59"
|
|
|
+ : ""
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ [keys[0] || "start"]: dayjs(times[0]).isValid()
|
|
|
+ ? dayjs(times[0]).format(format)
|
|
|
+ : "",
|
|
|
+ [keys[1] || "end"]: dayjs(times[1]).isValid()
|
|
|
+ ? dayjs(times[1]).format(format)
|
|
|
+ : ""
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {};
|
|
|
+};
|