diff --git a/common/util.js b/common/util.js index ae2e464..fcbfe66 100644 --- a/common/util.js +++ b/common/util.js @@ -140,6 +140,36 @@ function getDefaultImage() { return defaultImg; } +/** + * 时间格式转换 + * @param dateTime 如 2024-05-01 01:10:21 + * @param fmt 可选参数[Y-m-d H:i:s,Y-m-d,Y-m-d H,Y-m-d H:i,H:i:s,H:i] + * @returns {string} + */ +function formatToDateTime(dateTime, fmt = 'Y-m-d H:i:s') { + if (!dateTime) return ''; // 如果为空,返回空字符串 + const date = new Date(dateTime); // 将字符串转换为 Date 对象 + + // 定义格式化规则 + const o = { + 'Y+': date.getFullYear(), // 年 + 'm+': String(date.getMonth() + 1).padStart(2, '0'), // 月 + 'd+': String(date.getDate()).padStart(2, '0'), // 日 + 'H+': String(date.getHours()).padStart(2, '0'), // 小时 + 'i+': String(date.getMinutes()).padStart(2, '0'), // 分钟 + 's+': String(date.getSeconds()).padStart(2, '0'), // 秒 + }; + + // 替换格式模板中的占位符 + for (const k in o) { + if (new RegExp(`(${k})`).test(fmt)) { + fmt = fmt.replace(RegExp.$1, o[k]); + } + } + + return fmt; +} + //跳转首页 function openHomeView() { @@ -195,5 +225,6 @@ module.exports = { formatLocation, dateUtils, hexToRgba, - img + img, + formatToDateTime } diff --git a/pages/student/timetable/index.vue b/pages/student/timetable/index.vue index f959b70..630ac09 100644 --- a/pages/student/timetable/index.vue +++ b/pages/student/timetable/index.vue @@ -40,34 +40,27 @@ - 班级:少年班 - 时间:2020-05-25 15:30 - 17:30 - 课室:302室 + 班级:{{v.name}} + 时间:{{v.start_date}} - {{$util.formatToDateTime(v.end_date,'H:i')}} + 课室:{{v.address}} - 课程:篮球少儿课 + 课程:{{v.courses_name}} - 上课中 + + {{ v.status === 1 ? '未开始' : v.status === 2 ? '上课中' : '已结束' }} + - 已签到学生 (15/34) + 已签到学生 ({{v.has_sign_count }}/{{v.max_students }}) - - - - - - - - - - +