From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- uview-ui/libs/function/timeFrom.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/uview-ui/libs/function/timeFrom.js b/uview-ui/libs/function/timeFrom.js new file mode 100644 index 0000000..68cd990 --- /dev/null +++ b/uview-ui/libs/function/timeFrom.js @@ -0,0 +1,47 @@ +import timeFormat from '../../libs/function/timeFormat.js'; + +/** + * 鏃堕棿鎴宠浆涓哄涔呬箣鍓� + * @param String timestamp 鏃堕棿鎴� + * @param String | Boolean format 濡傛灉涓烘椂闂存牸寮忓瓧绗︿覆锛岃秴鍑轰竴瀹氭椂闂磋寖鍥达紝杩斿洖鍥哄畾鐨勬椂闂存牸寮忥紱 + * 濡傛灉涓哄竷灏斿�糵alse锛屾棤璁轰粈涔堟椂闂达紝閮借繑鍥炲涔呬互鍓嶇殑鏍煎紡 + */ +function timeFrom(dateTime = null, format = 'yyyy-mm-dd') { + // 濡傛灉涓簄ull,鍒欐牸寮忓寲褰撳墠鏃堕棿 + if (!dateTime) dateTime = Number(new Date()); + // 濡傛灉dateTime闀垮害涓�10鎴栬��13锛屽垯涓虹鍜屾绉掔殑鏃堕棿鎴筹紝濡傛灉瓒呰繃13浣嶏紝鍒欎负鍏朵粬鐨勬椂闂存牸寮� + if (dateTime.toString().length == 10) dateTime *= 1000; + let timestamp = + new Date(Number(dateTime)); + + let timer = (Number(new Date()) - timestamp) / 1000; + // 濡傛灉灏忎簬5鍒嗛挓,鍒欒繑鍥�"鍒氬垰",鍏朵粬浠ユ绫绘帹 + let tips = ''; + switch (true) { + case timer < 300: + tips = '鍒氬垰'; + break; + case timer >= 300 && timer < 3600: + tips = parseInt(timer / 60) + '鍒嗛挓鍓�'; + break; + case timer >= 3600 && timer < 86400: + tips = parseInt(timer / 3600) + '灏忔椂鍓�'; + break; + case timer >= 86400 && timer < 2592000: + tips = parseInt(timer / 86400) + '澶╁墠'; + break; + default: + // 濡傛灉format涓篺alse锛屽垯鏃犺浠�涔堟椂闂存埑锛岄兘鏄剧ずxx涔嬪墠 + if(format === false) { + if(timer >= 2592000 && timer < 365 * 86400) { + tips = parseInt(timer / (86400 * 30)) + '涓湀鍓�'; + } else { + tips = parseInt(timer / (86400 * 365)) + '骞村墠'; + } + } else { + tips = timeFormat(timestamp, format); + } + } + return tips; +} + +export default timeFrom; -- Gitblit v1.9.3