From 36f70d74f9a342063a190d40aebb7d759e299a69 Mon Sep 17 00:00:00 2001 From: sight <1453017105@qq.com> Date: Sun, 6 Aug 2023 22:26:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20`util.toDateString`=20meri?= =?UTF-8?q?diem=20=E6=A0=BC=E5=BC=8F=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/util/index.md | 3 ++- src/modules/util.js | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/util/index.md b/docs/util/index.md index 4a3fac95..de955bb5 100644 --- a/docs/util/index.md +++ b/docs/util/index.md @@ -100,7 +100,7 @@ var result = util.timeAgo(1672531200000); // 2023-01-01 00:00:00 `var result = util.toDateString(time, format);` - 参数 `time` : 毫秒数或日期对象 -- 参数 `format` : 日期字符格式。默认格式:`yyyy-MM-dd HH:mm:ss` 。可自定义,如: `yyyy年MM月dd日`。 +- 参数 `format` : 日期字符格式。默认格式:`yyyy-MM-dd HH:mm:ss` 。可自定义,如: `yyyy年MM月dd日` ``` var result = util.toDateString(1672531200000, 'yyyy-MM-dd'); // 2023-01-01 @@ -123,6 +123,7 @@ var result2 = util.toDateString(new Date('2023-01-01 11:35:25'), 'ss[s]'); // 25 | HH | 00-23 | 小时,两位数 | | h 2.8.13+ | 1-12 | 小时,12 小时制 | | hh 2.8.13+ | 01-12 | 小时,12 小时制,两位数 | +| A 2.8.13+ | 凌晨/早上/上午/中午/下午/晚上 | 时段 | | m 2.8.13+ | 0-59 | 分钟 | | mm | 00-59 | 分钟,两位数 | | s 2.8.13+ | 0-59 | 秒 | diff --git a/src/modules/util.js b/src/modules/util.js index 1581de74..1ae8740b 100644 --- a/src/modules/util.js +++ b/src/modules/util.js @@ -260,7 +260,7 @@ layui.define('jquery', function(exports){ // 引用自 dayjs // https://github.com/iamkun/dayjs/blob/v1.11.9/src/constant.js#L30 - var REGEX_FORMAT = /\[([^\]]+)]|y{1,4}|M{1,2}|d{1,2}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|SSS/g; + var REGEX_FORMAT = /\[([^\]]+)]|y{1,4}|M{1,2}|d{1,2}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|SSS/g; var that = this; var date = new Date(function(){ if(!time) return; @@ -277,6 +277,22 @@ layui.define('jquery', function(exports){ var seconds = date.getSeconds(); var milliseconds = date.getMilliseconds(); + var meridiem = function(hour, minute){ + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1100) { + return '上午'; + } else if (hm < 1300) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } + return '晚上'; + }; + var matches = { yy: function(){return String(years).slice(-2);}, yyyy: function(){return that.digit(years, 4);}, @@ -288,6 +304,7 @@ layui.define('jquery', function(exports){ HH: function(){return that.digit(hours);}, h: function(){return String(hours % 12 || 12);}, hh: function(){return that.digit(hours % 12 || 12);}, + A: function(){return meridiem(hours, minutes);}, m: function(){return String(minutes);}, mm: function(){return that.digit(minutes);}, s: function(){return String(seconds);},