代码部分
TypeScript
/**
* format a Date object
* 将 Date 转化为指定格式的String
* @param {Date} date 源日期对象
* @param {string} pattern 匹配模式
* @returns {string} 格式化结果
*/
fmtDate(date: Date, pattern: string) {
return pattern
.replace(/yyyy/, date.getFullYear().toString())
.replace(/MM/, this.fillZero(date.getMonth() + 1, 'l', 2))
.replace(/dd/, this.fillZero(date.getDate(), 'l', 2))
.replace(/hh/, this.fillZero(date.getHours(), 'l', 2))
.replace(/mm/, this.fillZero(date.getMinutes(), 'l', 2))
.replace(/ss/, this.fillZero(date.getSeconds(), 'l', 2))
.replace(/S/, date.getMilliseconds().toString());
}
Javascript
/**
* format a Date object
* 将 Date 转化为指定格式的String
* @param {Date} date 源日期对象
* @param {string} pattern 匹配模式
* @returns {string} 格式化结果
*/
Aqua.prototype.fmtDate = function (date, pattern) {
return pattern
.replace(/yyyy/, date.getFullYear().toString())
.replace(/MM/, this.fillZero(date.getMonth() + 1, 'l', 2))
.replace(/dd/, this.fillZero(date.getDate(), 'l', 2))
.replace(/hh/, this.fillZero(date.getHours(), 'l', 2))
.replace(/mm/, this.fillZero(date.getMinutes(), 'l', 2))
.replace(/ss/, this.fillZero(date.getSeconds(), 'l', 2))
.replace(/S/, date.getMilliseconds().toString());
};
补零函数 Typescript
/**
* fill 0 to a number
* 数字补零
* @param {number} src 源数字
* @param {string} direction 方向 l r
* @param {number} digit 补零后的总位数
* @returns {string} 结果
*/
fillZero(src: number, direction: string, digit: number) {
let count: number = digit - src.toString().length;
let os = new Array(count + 1).join('0');
if (direction !== 'r') {
return os + src;
}
return src + os;
}
javascript
/**
* fill 0 to a number
* 数字补零
* @param {number} src 源数字
* @param {string} direction 方向 l r
* @param {number} digit 补零后的总位数
* @returns {string} 结果
*/
Aqua.prototype.fillZero = function (src, direction, digit) {
var count = digit - src.toString().length;
var os = new Array(count + 1).join('0');
if (direction !== 'r') {
return os + src;
}
return src + os;
};
原理很简单,就不写了
欢迎查看我的GitHub