通用工具
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/398010/781178/CommonUtils.js
/**
* 将Date转化为指定格式的String.
* 年(y)可以用 1-4 个占位符,
* 月(M)、日(d)、小时(H)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
* 毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* 例子:
* format("yyyy-MM-dd hh:mm:ss.S", new Date()) ==> 2006-07-02 08:09:04.423
* format("yyyy-M-d h:m:s.S", new Date()) ==> 2006-7-2 8:9:4.182
* @param {String} fmt fotmat 格式字符串.
* @param {Date} date Date object.
*/
function format (fmt, date) {
var ret;
var opt = {
"y+": date.getFullYear().toString(),
"M+": (date.getMonth() + 1).toString(),
"d+": date.getDate().toString(),
"H+": date.getHours().toString(),
"m+": date.getMinutes().toString(),
"s+": date.getSeconds().toString(), //秒
"q+": (Math.floor((date.getMonth() + 3) / 3)).toString(), //季度
"S": date.getMilliseconds().toString() //毫秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for (var k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
}
}
return fmt;
}