| 123456789101112131415161718192021222324252627282930313233343536373839 |
- // HR 模块通用格式化工具
- /**
- * 把后端返回的 "2026-09-14 09:00:00" / ISO 等带日期的时间字符串
- * 截成 "09:00" 这种 HH:MM 形式,避免日期信息污染卡片。
- * - 空值返回空字符串
- * - 无 HH:MM(:SS) 匹配时原样返回,避免静默吞错
- */
- export function extractTime(value) {
- if (value === null || value === undefined || value === "") return "";
- const m = String(value).match(/(\d{1,2}:\d{2})(:\d{2})?/);
- return m ? m[1] : String(value);
- }
- /**
- * 把 Date / 时间字符串格式化为 yyyy-MM-dd
- */
- export function formatDate(value) {
- if (!value) return "";
- const d = value instanceof Date ? value : new Date(String(value).replace(/-/g, "/"));
- if (isNaN(d.getTime())) return String(value);
- const mm = String(d.getMonth() + 1).padStart(2, "0");
- const dd = String(d.getDate()).padStart(2, "0");
- return `${d.getFullYear()}-${mm}-${dd}`;
- }
- /**
- * 格式化 "yyyy-MM-dd HH:mm" 用于表单回显
- */
- export function formatDateTime(value) {
- if (!value) return "";
- const d = value instanceof Date ? value : new Date(String(value).replace(/-/g, "/"));
- if (isNaN(d.getTime())) return String(value);
- const mm = String(d.getMonth() + 1).padStart(2, "0");
- const dd = String(d.getDate()).padStart(2, "0");
- const hh = String(d.getHours()).padStart(2, "0");
- const mi = String(d.getMinutes()).padStart(2, "0");
- return `${d.getFullYear()}-${mm}-${dd} ${hh}:${mi}`;
- }
|