Skip to content

Instantly share code, notes, and snippets.

@atian25
Created August 15, 2012 09:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atian25/3357932 to your computer and use it in GitHub Desktop.
Save atian25/3357932 to your computer and use it in GitHub Desktop.
formatDate
/**
* format date.
* @param {Date/Number} obj date to format, support Date or timestamp
* @example
* formatDate(new Date(),"yyyy-MM-dd hh:mm:ss")
* formatDate(new Date().setHours(0,0,0,0),"yyyy-MM-dd hh:mm:ss")
*/
function formatDate(obj,format){
var date = obj;
if(toString.call(obj) !== '[object Date]'){
date = new Date();
date.setTime(obj);
}
format = format || "yyyy-MM-dd hh:mm:ss";
var o = {
"M+" : date.getMonth()+1, //month
"d+" : date.getDate(), //day
"h+" : date.getHours(), //hour
"m+" : date.getMinutes(), //minute
"s+" : date.getSeconds(), //second
"q+" : Math.floor((date.getMonth()+3)/3), //quarter
"S" : date.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)){
format=format.replace(RegExp.$1, (date.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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment