Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
xyxBooking-weapp
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2026-01-23 15:22:47 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
4538b7bd8a8910f9ea9ed04a565df3a74ed40e96
4538b7bd
1 parent
0de698bf
fix: 将次日零点的时间格式化为24:00
避免将次日零点显示为00:00,改为显示24:00以明确表示当天结束时间
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
9 deletions
src/utils/tools.js
src/utils/tools.js
View file @
4538b7b
/*
* @Date: 2022-04-18 15:59:42
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2026-01-
18 00:18:39
* @FilePath: /xyxBooking-weapp/src/utils/tools.js
* @LastEditTime: 2026-01-
23 15:18:16
* @FilePath: /
git/
xyxBooking-weapp/src/utils/tools.js
* @Description: 工具函数库
*/
import
dayjs
from
'dayjs'
;
...
...
@@ -87,18 +87,12 @@ const strExist = (array, str) => {
* 3. 该函数默认截取时间字符串前19位(slice(0, -6)),需根据实际时间格式调整截取长度
*/
const
formatDatetime
=
(
data
)
=>
{
// 格式化日期
if
(
!
data
||
!
data
.
begin_time
||
!
data
.
end_time
)
return
''
;
// 预处理函数:移除时区后缀,统一格式为 ISO 8601 (YYYY-MM-DDTHH:mm:ss)
// 这样做是为了让 dayjs 把它当作本地时间处理,避免时区转换导致的时间偏差(始终显示景点当地时间/字面时间)
const
normalize
=
(
timeStr
)
=>
{
if
(
!
timeStr
)
return
''
;
// 移除 +08, +08:00 等时区后缀
let
clean
=
timeStr
.
split
(
'+'
)[
0
];
// 移除 Z 后缀
clean
=
clean
.
split
(
'Z'
)[
0
];
// 将空格替换为 T,确保兼容性
clean
=
clean
.
trim
().
replace
(
/
\s
+/
,
'T'
);
return
clean
;
};
...
...
@@ -108,7 +102,15 @@ const formatDatetime = (data) => {
if
(
!
start
.
isValid
()
||
!
end
.
isValid
())
return
''
;
return
`
${
start
.
format
(
'YYYY-MM-DD'
)}
${
start
.
format
(
'HH:mm'
)}
-
${
end
.
format
(
'HH:mm'
)}
`
;
const
isNextDayMidnight
=
end
.
diff
(
start
,
'day'
)
===
1
&&
end
.
hour
()
===
0
&&
end
.
minute
()
===
0
&&
end
.
second
()
===
0
;
const
endTimeText
=
isNextDayMidnight
?
'24:00'
:
end
.
format
(
'HH:mm'
);
return
`
${
start
.
format
(
'YYYY-MM-DD'
)}
${
start
.
format
(
'HH:mm'
)}
-
${
endTimeText
}
`
;
};
/**
...
...
Please
register
or
login
to post a comment