调用
formatDate()
方法 , 默认返回'2019-09-20 20:00:00'
格式的字符串。
参数一: time
指定格式化后返回的时间,可以是任何能被Date
对象解析的数据。
参数二: format
需要返回的时间格式。
参数三: utc
相对零时区转换
/** 时间格式化函数
* @param {String} Time 可以被 Date 对象解析的任何字符串
* @param {String} Format 时间格式 "YYYY-MM-DD hh:mm:ss"
* @return {String} 返回 Format 参数指定格式的时间字符串
*/
function formatDate(
time = new Date(),
format = "YYYY-MM-DD hh:mm:ss",
utc = null
) {
try {
time = new Date(time);
} catch (error) {
console.error("Wrong time type:", error);
time = new Date();
}
if (utc === false)
time = new Date(
time.getTime() - new Date().getTimezoneOffset() * 60 * 1000
);
if (utc === true)
time = new Date(
time.getTime() + new Date().getTimezoneOffset() * 60 * 1000
);
[
{ test: /YYYY/g, text: time.getFullYear() },
{ test: /MM/g, text: time.getMonth() + 1 },
{ test: /DD/g, text: time.getDate() },
{ test: /hh/g, text: time.getHours() },
{ test: /mm/g, text: time.getMinutes() },
{ test: /ss/g, text: time.getSeconds() },
{ test: /ms/g, text: time.getMilliseconds() }
].forEach(e => {
format = format.replace(e["test"], e.text.toString().padStart(2, '0'));
});
return format;
};
// 比较时间
function timeCompare(time1, time2, format) {
return +new Date(formatDate(time1, format)) == +new Date(formatDate(time2, format))
}
网友评论