Files
ZhHealth/utils/index.js

184 lines
6.5 KiB
JavaScript

import env from './conf/env.js'
export default {
checkPhone: (phone) => {
let re = /^[0-9]+.?[0-9]*/;
if (phone.length === 11) {
return re.test(phone)
}
return false;
},
jumpUrl(path) {
uni.navigateTo({
url: path
})
},
handleTimeCustom(val) {
val = this.timeStamp(val, 'Y-m-d H:i:s')
let currentDate = new Date();
let currentD = currentDate.getDate();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let date = val.substring(0, 19);
date = date.replace(/-/g, '/');
let valDate = new Date(date);
let valD = valDate.getDate();
let valYear = valDate.getFullYear();
let valMonth = valDate.getMonth() + 1;
// 判断是否属于今天,计算时分
let difftime = (currentDate - valDate) / 1000;
let hour = valDate.getHours();
hour = hour > 9 ? hour : '0' + hour;
let minute = valDate.getMinutes();
minute = minute > 9 ? minute : '0' + minute;
if (currentYear === valYear && currentMonth === valMonth && currentD === valD) {
return hour + ':' + minute;
} else {
// 计算天
if (currentYear === valYear && currentMonth === valMonth && currentD !== valD) {
return valMonth + '月' + valD + '日 ' + hour + '时' + minute;
} else {
return valYear + '年' + valMonth + '月' + valD + '日 ' + hour + ':' + minute;
}
}
},
handleTimeCustomCN(val) {
val = this.timeStamp(val, 'Y-m-d H:i:s')
console.log(val, '时间0000000');
let currentDate = new Date();
let currentD = currentDate.getDate();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let date = val.substring(0, 19);
date = date.replace(/-/g, '/');
let valDate = new Date(date);
let valD = valDate.getDate();
let valYear = valDate.getFullYear();
let valMonth = valDate.getMonth() + 1;
// 判断是否属于今天,计算时分
let difftime = (currentDate - valDate) / 1000;
if (currentYear === valYear && currentMonth === valMonth && currentD === valD) {
let minute = parseInt(difftime % 3600 / 60);
if (minute <= 60) {
return minute === 0 ? '刚刚' : minute + '分钟前';
} else {
return (minute * 60).toFixed(0) + '小时前';
}
} else {
// 计算天
if (currentYear === valYear && currentMonth === valMonth && currentD - 1 === valD) {
return '昨天';
} else {
let days = Math.abs(currentDate.getTime() - valDate.getTime()) / (1000 * 60 * 60 * 24);
return Math.ceil(days) + '天前';
}
}
},
timeStamp(timestamp, formats) {
/*
** 时间戳转换成指定格式日期
** eg.
** dateFormat(11111111111111, 'Y年m月d日 H时i分')
** → "2322年02月06日 03时45分"
*/
// formats格式包括
// 1. Y-m-d
// 2. Y-m-d H:i:s
// 3. Y年m月d日
// 4. Y年m月d日 H时i分
formats = formats || 'Y-m-d';
var zero = function(value) {
if (value < 10) {
return '0' + value;
}
return value;
};
var myDate = timestamp ? new Date(timestamp) : new Date();
var year = myDate.getFullYear();
var month = zero(myDate.getMonth() + 1);
var day = zero(myDate.getDate());
var hour = zero(myDate.getHours());
var minite = zero(myDate.getMinutes());
var second = zero(myDate.getSeconds());
return formats.replace(/Y|m|d|H|i|s/ig, function(matches) {
return ({
Y: year,
m: month,
d: day,
H: hour,
i: minite,
s: second
})[matches];
});
},
// 时间字符串转换中文时间
timeToDate(str) {
let date = str.substring(0, 19);
date = date.replace(/-/g, '/');
date = new Date(str);
let dateObj = {
year: date.getFullYear(),
month: date.getMonth() + 1,
day: date.getDate(),
hour: date.getHours(),
minute: date.getMinutes(),
second: date.getSeconds()
}
let string = dateObj.year + '年' + dateObj.month + '月' + dateObj.day + '日 ' + dateObj.hour + '时' + dateObj
.minute + '分';
return string
},
getAge(strAge) {
let birArr = strAge.split("-");
let birYear = birArr[0];
let birMonth = birArr[1];
let birDay = birArr[2];
d = new Date();
let nowYear = d.getFullYear();
let nowMonth = d.getMonth() + 1; //记得加1
let nowDay = d.getDate();
let returnAge;
if (birArr == null) {
return false
};
let d = new Date(birYear, birMonth - 1, birDay);
if (d.getFullYear() == birYear && (d.getMonth() + 1) == birMonth && d.getDate() == birDay) {
if (nowYear == birYear) {
returnAge = 0;
} else {
let ageDiff = nowYear - birYear;
if (ageDiff > 0) {
if (nowMonth == birMonth) {
let dayDiff = nowDay - birDay;
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
let monthDiff = nowMonth - birMonth;
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
return "出生日期晚于今天,数据有误"; //返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge;
} else {
return ("输入的日期格式错误!");
}
}
}