czz-format-date
Version:
时间格式化
84 lines (79 loc) • 2.88 kB
JavaScript
let formatDateTime = {
/**
* 时间格式化
* @param value
* @param fmt
* @returns {*}
*/
formatDate(value, fmt) {
var regPos = /^\d+(\.\d+)?$/;
if (regPos.test(value)) {
//如果是数字
let getDate = new Date(value);
let o = {
'M+': getDate.getMonth() + 1,
'd+|D+': getDate.getDate(),
'h+': getDate.getHours(),
'm+': getDate.getMinutes(),
's+': getDate.getSeconds(),
'q+': Math.floor((getDate.getMonth() + 3) / 3),
'S': getDate.getMilliseconds()
};
if (/(y+|Y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (let k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
}
return fmt;
} else {
//TODO
value = value.trim();
return value.substr(0, fmt.length);
}
},
/**
* 根据传入的时间戳,格式化日期
* @param value 时间戳
* @param fmt
* @returns {*}
*/
timeFormatDate(value, fmt) {
if (!value) return
var regPos = /^\d+(\.\d+)?$/;
if (regPos.test(value)) {
let secondTime = parseInt(value / 1000);
let minuteTime = 0; // 分
let hourTime = 0; // 小时
if (secondTime > 60) { //如果秒数大于60,将秒数转换成整数
//获取分钟,除以60取整数,得到整数分钟
minuteTime = parseInt(secondTime / 60);
//获取秒数,秒数取佘,得到整数秒数
secondTime = parseInt(secondTime % 60);
//如果分钟大于59,将分钟转换成小时
if (minuteTime > 59) {
//获取小时,获取分钟除以60,得到整数小时
hourTime = parseInt(minuteTime / 60);
//获取小时后取佘的分,获取分钟除以60取佘的分
minuteTime = parseInt(minuteTime % 60);
}
}
let o = {
'h+': parseInt(hourTime),
'm+': parseInt(minuteTime),
's+': parseInt(secondTime)
};
for (let k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
}
return fmt;
}
}
}
module.exports = {
formatDateTime
}