天天看點

js将long日期格式轉換為标準日期格式實作思路

<script language="javascript"> 

//擴充Date的format方法 

Date.prototype.format = function (format) { 

var o = { 

"M+": this.getMonth() + 1, 

"d+": this.getDate(), 

"h+": this.getHours(), 

"m+": this.getMinutes(), 

"s+": this.getSeconds(), 

"q+": Math.floor((this.getMonth() + 3) / 3), 

"S": this.getMilliseconds() 

} 

if (/(y+)/.test(format)) { 

format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 

} 

for (var k in o) { 

if (new RegExp("(" + k + ")").test(format)) { 

format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); 

} 

} 

return format; 

} 

/** 

*轉換日期對象為日期字元串 

* @param date 日期對象 

* @param isFull 是否為完整的日期資料, 

* 為true時, 格式如"2000-03-05 01:05:04" 

* 為false時, 格式如 "2000-03-05" 

* @return 符合要求的日期字元串 

*/ 

function getSmpFormatDate(date, isFull) { 

var pattern = ""; 

if (isFull == true || isFull == undefined) { 

pattern = "yyyy-MM-dd hh:mm:ss"; 

} else { 

pattern = "yyyy-MM-dd"; 

} 

return getFormatDate(date, pattern); 

} 

/** 

*轉換目前日期對象為日期字元串 

* @param date 日期對象 

* @param isFull 是否為完整的日期資料, 

* 為true時, 格式如"2000-03-05 01:05:04" 

* 為false時, 格式如 "2000-03-05" 

* @return 符合要求的日期字元串 

*/ 

function getSmpFormatNowDate(isFull) { 

return getSmpFormatDate(new Date(), isFull); 

} 

/** 

*轉換long值為日期字元串 

* @param l long值 

* @param isFull 是否為完整的日期資料, 

* 為true時, 格式如"2000-03-05 01:05:04" 

* 為false時, 格式如 "2000-03-05" 

* @return 符合要求的日期字元串 

*/ 

function getSmpFormatDateByLong(l, isFull) { 

return getSmpFormatDate(new Date(l), isFull); 

} 

/** 

*轉換long值為日期字元串 

* @param l long值 

* @param pattern 格式字元串,例如:yyyy-MM-dd hh:mm:ss 

* @return 符合要求的日期字元串 

*/ 

function getFormatDateByLong(l, pattern) { 

return getFormatDate(new Date(l), pattern); 

} 

/** 

*轉換日期對象為日期字元串 

* @param l long值 

* @param pattern 格式字元串,例如:yyyy-MM-dd hh:mm:ss 

* @return 符合要求的日期字元串 

*/ 

function getFormatDate(date, pattern) { 

if (date == undefined) { 

date = new Date(); 

} 

if (pattern == undefined) { 

pattern = "yyyy-MM-dd hh:mm:ss"; 

} 

return date.format(pattern); 

} 

</script>      

繼續閱讀