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