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);},