function dateFormat(date) {
	if(date){
		date = new Date(date);
		var myDate = new Date();
		let currentYear = myDate.getFullYear();
		let year =  date.getFullYear();
		let fmt = "YYYY年mm月dd日 HH:MM:SS"
		if(currentYear==year){
			fmt = "mm月dd日 HH:MM:SS"
		}else{
			fmt = "YYYY年mm月dd日 HH:MM:SS"
		}
		
		let ret;
		const 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()          // 秒
		    // 有其他格式化字符需求可以继续添加,必须转化成字符串
		};
		for (let 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;
	}else{
		return "";
	}
	
}

function displayDateFormat(date) {
	if(date){
		date = new Date(date);
		var myDate = new Date();
		let currentYear = myDate.getFullYear();
		let year =  date.getFullYear();
		let fmt = "YYYY/mm/dd"
		if(currentYear==year){
			fmt = "mm/dd"
		}else{
			fmt = "YYYY/mm/dd"
		}
		
		let ret;
		const opt = {
		    "Y+": date.getFullYear().toString(),        // 年
		    "m+": (date.getMonth() + 1).toString(),     // 月
		    "d+": date.getDate().toString()           	// 日
		    // 有其他格式化字符需求可以继续添加,必须转化成字符串
		};
		for (let 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;
	}else{
		return "";
	}
	
}

function displayDateFormatChi(date) {
	if(date){
		date = new Date(date);
		var myDate = new Date();
		let currentYear = myDate.getFullYear();
		let year =  date.getFullYear();
		let fmt = "YYYY年mm月dd日"
		if(currentYear==year){
			fmt = "mm月dd日"
		}else{
			fmt = "YYYY年mm月dd日"
		}
		
		let ret;
		const opt = {
		    "Y+": date.getFullYear().toString(),        // 年
		    "m+": (date.getMonth() + 1).toString(),     // 月
		    "d+": date.getDate().toString()           	// 日
		    // 有其他格式化字符需求可以继续添加,必须转化成字符串
		};
		for (let 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;
	}else{
		return "";
	}
	
}

function dateFormatForLine(date, isLong=true) {
	if(date){
		date = new Date(date);
		var myDate = new Date();
		let currentYear = myDate.getFullYear();
		let year =  date.getFullYear();
		var fmt = "YYYY-mm-dd HH:MM:SS"
		if (!isLong) {
			fmt = "YYYY-mm-dd"
		}
		
		let ret;
		const 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()          // 秒
		    // 有其他格式化字符需求可以继续添加,必须转化成字符串
		};
		for (let 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;
	}else{
		return "";
	}
	
}

function mobileFormat(mobile){
	let fmm= "" + mobile;
	var reg=/(\d{3})\d{4}(\d{4})/; //正则表达式
	return fmm.replace(reg, "$1****$2");
}

export  {
	dateFormat,
	mobileFormat,
	displayDateFormat,
	displayDateFormatChi,
	dateFormatForLine
}