|
- var barcode = require("./barcode");
- var qrcode = require("./qrcode");
-
- const extConfig = tt.getExtConfigSync ? tt.getExtConfigSync() : {}
-
-
- function convertUTCTimeToLocalTime(UTCDateString) {
- if (!UTCDateString) {
- return '-';
- }
-
- function formatFunc(str) { //格式化显示
- return str > 9 ? str : '0' + str
- }
- var date2 = new Date(UTCDateString); //这步是关键
- var year = date2.getFullYear();
- var mon = formatFunc(date2.getMonth() + 1);
- var day = formatFunc(date2.getDate());
- var hour = date2.getHours();
- var noon = hour >= 12 ? 'PM' : 'AM';
- hour = hour >= 24 ? hour - 24 : hour;
- hour = formatFunc(hour);
- var min = formatFunc(date2.getMinutes());
- var dateStr = ' ' + hour + ':' + min;
- return dateStr;
- }
-
- // function fmtDate(date) {
- // var dateee = new Date(date).toJSON();
- // return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
- // }
-
- function moodsText(Num) { //人气值处理 Num人气值 返回字符串 处理到万位
- let sing = ""
- if (Num > 10000) {
- sing = (Num / 10000).toFixed(2) + "w"
-
- } else {
- sing = Num
- }
- return sing
- }
-
- const formatTime = (date, fmt) => {
- try {
- if (!date) {
- return date;
- }
- if (typeof date === 'string' && date.length === 13) {
- date = Number(date);
- }
- if (typeof date == "number") {
- date = new Date(date);
- }
- var o = {
- "M+": date.getMonth() + 1, //月份
- "d+": date.getDate(), //日
- "h+": date.getHours(), //小时
- "m+": date.getMinutes(), //分
- "s+": date.getSeconds(), //秒
- "q+": Math.floor((date.getMonth() + 3) / 3), //季度
- S: date.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt))
- fmt = fmt.replace(
- RegExp.$1,
- (date.getFullYear() + "").substr(4 - RegExp.$1.length)
- );
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(
- RegExp.$1,
- RegExp.$1.length == 1 ?
- o[k] :
- ("00" + o[k]).substr(("" + o[k]).length)
- );
- return fmt;
- } catch (error) {
- return date;
- }
- };
-
- const formatNumber = n => {
- n = n.toString();
- return n[1] ? n : "0" + n;
- };
-
- function convert_length(length) {
- return Math.round((tt.getSystemInfoSync().windowWidth * length) / 750);
- }
-
- function barc(id, code, width, height) {
- barcode.code128(
- tt.createCanvasContext(id),
- code,
- convert_length(width),
- convert_length(height)
- );
- }
-
- /**
- * @description 根据时间戳获取时间
- * @param {*} timestamp 必传,number类型,时间戳数据(10位及以下,10位至13位);若不传,则返回:“无时间戳”
- * @param {*} format 选传,string类型,提供以下时间格式:YYYY-MM-DD hh:mm:ss、YYYY/MM/DD hh:mm:ss、YYYY.MM.DD hh:mm:ss、YYYY MM DD hh:mm:ss、YYYY年MM月DD日 hh:mm:ss、YYYY-MM-DD、YYYY/MM/DD、YYYY.MM.DD、YYYY MM DD、YYYY年MM月DD日、hh:mm:ss、hh:mm;若不传,则默认为:YYYY-MM-DD
- * @returns 根据要求的时间格式
- * @version V 1.0, Created by YWQ, 2022.10.20
- */
- function timestampToTime(timestamp, format) {
- if (!timestamp) return false
- //时间戳为10位需*1000,时间戳为13位不需乘1000
- const length = timestamp ? timestamp.length : ''
-
- if (length <= 10) {
- var date = new Date(timestamp * 1000)
- } else {
- var date = new Date(timestamp)
- }
-
-
- let Y = String(date.getFullYear())
- let M = String(date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
- let D = String(date.getDate() + 1 < 10 ? '0' + (date.getDate()) : date.getDate())
- let h = String(date.getHours() + 1 < 10 ? '0' + (date.getHours()) : date.getHours())
- let m = String(date.getMinutes() + 1 < 10 ? '0' + (date.getMinutes()) : date.getMinutes())
- let s = String(date.getSeconds() + 1 < 10 ? '0' + (date.getSeconds()) : date.getSeconds())
- // return Y + M + D + h + m + s
- if (format == "YYYY-MM-DD hh:mm:ss") {
- return Y + "-" + M + "-" + D + " " + h + ":" + m + ":" + s
- } else if (format == "YYYY/MM/DD hh:mm:ss") {
- return Y + "/" + M + "/" + D + " " + h + ":" + m + ":" + s
- } else if (format == "YYYY.MM.DD hh:mm:ss") {
- return Y + "." + M + "." + D + " " + h + ":" + m + ":" + s
- } else if (format == "YYYY MM DD hh:mm:ss") {
- return Y + " " + M + " " + D + " " + h + ":" + m + ":" + s
- } else if (format == "YYYY年MM月DD日 hh:mm:ss") {
- return Y + "年" + M + "月" + D + "日" + " " + h + ":" + m + ":" + s
- } else if (format == "YYYY-MM-DD") {
- return Y + "-" + M + "-" + D
- } else if (format == "YYYY/MM/DD") {
- return Y + "/" + M + "/" + D
- } else if (format == "YYYY.MM.DD") {
- return Y + "." + M + "." + D
- } else if (format == "YYYY MM DD") {
- return Y + " " + M + " " + D
- } else if (format == "YYYY年MM月DD日") {
- return Y + "年" + M + "月" + D + "日"
- } else if (format == "hh:mm:ss") {
- return h + ":" + m + ":" + s
- } else if (format == "hh:mm") {
- return h + ":" + m
- } else {
- return Y + "-" + M + "-" + D
- }
- }
-
- function qrc(id, code, width, height) {
- qrcode.api.draw(code, {
- ctx: tt.createCanvasContext(id),
- width: convert_length(width),
- height: convert_length(height)
- });
- }
- // function fmtDate(obj) {
- // if (typeof obj === 'string' && obj.length === 13) {
- // obj = Number(obj);
- // }
- // var date = new Date(obj);
- // var y = 1900 + date.getYear();
- // var m = "0" + (date.getMonth() + 1);
- // var d = "0" + date.getDate();
- // return (
- // y +
- // "-" +
- // m.substring(m.length - 2, m.length) +
- // "-" +
- // d.substring(d.length - 2, d.length)
- // );
- // }
-
- //计算下单的时间与现在的时间的
- function timechuo(startTime) {
- var s1 = new Date(startTime.replace(/-/g, "/"));
- var s2 = new Date();
- var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
- var year = Math.floor(runTime / 86400 / 365);
- var runTime = runTime % (86400 * 365);
- var month = Math.floor(runTime / 86400 / 30);
- var runTime = runTime % (86400 * 30);
- var day = Math.floor(runTime / 86400);
- var runTime = runTime % 86400;
- var hour = Math.floor(runTime / 3600);
- var runTime = runTime % 3600;
- var minute = Math.floor(runTime / 60);
- var runTime = runTime % 60;
- var second = runTime;
- if (day && !year && !month) {
- return (day + '天' + hour + "小时" + minute + "分钟")
- } else if (month && !year) {
- return ((month * 30 + day) + '天' + hour + "小时" + minute + "分钟")
- } else if (year) {
- return ((year * 365 + month * 30 + day) + '天' + hour + "小时" + minute + "分钟")
- } else {
- return (hour + "小时" + minute + "分钟")
- }
- }
-
-
- //计算时间差
- function timecha(endTime, startTime) {
- var s1 = new Date(endTime.replace(/-/g, "/"));
- var s2 = new Date(startTime.replace(/-/g, "/"));
- var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
- var year = Math.floor(runTime / 86400 / 365);
- var runTime = runTime % (86400 * 365);
- var month = Math.floor(runTime / 86400 / 30);
- var runTime = runTime % (86400 * 30);
- var day = Math.floor(runTime / 86400);
- var runTime = runTime % 86400;
- var hour = Math.floor(runTime / 3600);
- var runTime = runTime % 3600;
- var minute = Math.floor(runTime / 60);
- var runTime = runTime % 60;
- var second = runTime;
- return (month + "月" + day + "天" + hour + "小时" + minute + "分钟")
- }
-
- function isJSON(str) {
- if (typeof str == 'string') {
- console.log("string")
- try {
- var obj = JSON.parse(str);
- if (typeof obj == 'object' && obj) {
- return true;
- } else {
- return false;
- }
- } catch (e) {
- console.log(e);
- tt.showToast({
- title: '请扫描正确的二维码',
- icon: 'none',
- duration: 1300
- })
- }
- } else {
- tt.showToast({
- title: '请扫描正确的二维码',
- icon: 'none',
- duration: 1300
- })
- }
- }
-
- module.exports = {
- formatTime: formatTime,
- barcode: barc,
- qrcode: qrc,
- isJSON: isJSON,
- // fmtDate: fmtDate,
- timechuo: timechuo,
- timecha: timecha,
- moodsText: moodsText,
- convertUTCTimeToLocalTime: convertUTCTimeToLocalTime,
- timestampToTime: timestampToTime
- };
|