UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

53 lines (46 loc) 1.56 kB
import dayjs from 'dayjs'; /** * 从日期时间字符串中提取时间部分 * @param dateTime 日期时间字符串,格式如 "2024-01-01 10:00:00" * @returns 时间字符串,格式如 "10:00" */ export function extractTimeFromDateTime(dateTime) { if (!dateTime) return null; // 使用 dayjs 解析日期时间 var date = dayjs(dateTime); if (!date.isValid()) { console.warn("[TimeUtils] \u65E0\u6548\u7684\u65E5\u671F\u65F6\u95F4\u683C\u5F0F: ".concat(dateTime)); return null; } // 返回 HH:mm 格式的时间 return date.format('HH:mm'); } /** * 将时间字符串转换为分钟数(用于排序) * @param timeStr 时间字符串,格式如 "10:00" 或 "14:30" * @returns 从00:00开始的分钟数 */ export function timeStringToMinutes(timeStr) { if (!timeStr) return 0; // 使用 dayjs 解析时间字符串 // 由于只有时间没有日期,我们添加一个固定日期来解析 var date = dayjs("2000-01-01 ".concat(timeStr), 'YYYY-MM-DD HH:mm'); if (!date.isValid()) { console.warn("[TimeUtils] \u65E0\u6548\u7684\u65F6\u95F4\u683C\u5F0F: ".concat(timeStr)); return 0; } // 计算从00:00开始的分钟数 return date.hour() * 60 + date.minute(); } /** * 对时间点数组进行排序 * @param timePoints 时间点数组 * @returns 排序后的时间点数组 */ export function sortTimePoints(timePoints) { return timePoints.sort(function (a, b) { var timeA = timeStringToMinutes(a); var timeB = timeStringToMinutes(b); return timeA - timeB; }); }