初始化仓库
This commit is contained in:
57
plugins/time.js
Normal file
57
plugins/time.js
Normal file
@@ -0,0 +1,57 @@
|
||||
export default {
|
||||
// 格式化时间函数
|
||||
getTime(format = "YYYY-MM-DD hh:mm:ss", date = new Date()) {
|
||||
const pad = (num, len = 2) => num.toString().padStart(len, "0");
|
||||
|
||||
const parts = {
|
||||
YYYY: date.getFullYear().toString(),
|
||||
MM: pad(date.getMonth() + 1),
|
||||
DD: pad(date.getDate()),
|
||||
hh: pad(date.getHours()),
|
||||
mm: pad(date.getMinutes()),
|
||||
ss: pad(date.getSeconds())
|
||||
};
|
||||
|
||||
// 分组规则:日期部分和时间部分分别检查
|
||||
const datePattern = /(YYYY)([^A-Za-z]?)(MM)([^A-Za-z]?)(DD)?/;
|
||||
const timePattern = /(hh)([^A-Za-z]?)(mm)([^A-Za-z]?)(ss)?/;
|
||||
|
||||
// 检查日期部分
|
||||
const dateMatch = format.match(datePattern);
|
||||
if (dateMatch) {
|
||||
const dateSeps = [dateMatch[2], dateMatch[4]].filter(Boolean);
|
||||
if (new Set(dateSeps).size > 1) {
|
||||
console.error(
|
||||
`❌ 格式错误:日期部分存在多种连接符 (${dateSeps.join(", ")})。\n👉 解决方案:请统一日期部分的连接符,例如 "YYYY-MM-DD" 或 "YYYY/MM/DD"`
|
||||
);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// 检查时间部分
|
||||
const timeMatch = format.match(timePattern);
|
||||
if (timeMatch) {
|
||||
const timeSeps = [timeMatch[2], timeMatch[4]].filter(Boolean);
|
||||
if (new Set(timeSeps).size > 1) {
|
||||
console.error(
|
||||
`❌ 格式错误:时间部分存在多种连接符 (${timeSeps.join(", ")})。\n👉 解决方案:请统一时间部分的连接符,例如 "hh:mm:ss" 或 "hh-mm-ss"`
|
||||
);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// 替换格式
|
||||
let result = format;
|
||||
for (const key in parts) {
|
||||
result = result.replace(new RegExp(key, "g"), parts[key]);
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
// 获取北京时间
|
||||
getBeijingTime(date = new Date()) {
|
||||
const f = n => String(n).padStart(2, '0');
|
||||
const t = new Date(date.toLocaleString('en-US', { timeZone: 'Asia/Shanghai' }));
|
||||
return `${t.getFullYear()}-${f(t.getMonth()+1)}-${f(t.getDate())} ${f(t.getHours())}:${f(t.getMinutes())}:${f(t.getSeconds())}`;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user