date = new Date(date)
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
}
console.log(dateFormat('Mon Apr 27 09:08:20 CST 2015','yyyy-MM-dd HH:mm:ss'))
最好能在数据库查询的时候就转了,前端处理的话,没有专门的方法,得自己去写:
<html><head>
<script language="javascript">
function Window_Load(){
var str = "Tue Jul 16 01:07:00 CST 2013"
alert(formatCSTDate(str,"yyyy-M-d hh:mm:ss")) //2013-7-16 16:24:58
alert(formatDate((new Date()),"yyyy-MM-dd")) //2013-07-15
alert(formatDate((new Date()),"yyyy/M/d")) //2013/7/15
}
//格式化CST日期的字串
function formatCSTDate(strDate,format){
return formatDate(new Date(strDate),format)
}
//格式化日期,
function formatDate(date,format){
var paddNum = function(num){
num += ""
return num.replace(/^(\d)$/,"0$1")
}
//指定格式字符
var cfg = {
yyyy : date.getFullYear() //年 : 4位
,yy : date.getFullYear().toString().substring(2)//年 : 2位
,M : date.getMonth() + 1 //月 : 如果1位的时候不补0
,MM : paddNum(date.getMonth() + 1) //月 : 如果1位的时候补0
,d : date.getDate() //日 : 如果1位的时候不补0
,dd : paddNum(date.getDate())//日 : 如果1位的时候补0
,hh : date.getHours() //时
,mm : date.getMinutes() //分
,ss : date.getSeconds() //秒
}
format || (format = "yyyy-MM-dd hh:mm:ss")
return format.replace(/([a-z])(\1)*/ig,function(m){return cfg[m]})
}
</script>
</head>
<body onload="Window_Load()">
</body>
</html>
第一种方法
自定义函数
//date 是一个 Date实例
format(date){
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDay()
}
第二种
修改Date原形函数 因为Date的输出函数比较多 我们就拿toLocaleDateString()方法来重写
代码如下:
Date.prototype.toLocaleDateString = function(DatePattern){if(/yyyy.MM.dd/.test(DatePattern)){
DatePattern = DatePattern.replace("yyyy",this.getFullYear()).replace("MM",this.getMonth()+1).replace("dd",this.getDay())
return DatePattern
}
return this.toLocaleString()
}
这里你可以以一个时间格式作为参数:
var date = new Date()
var str = date.toLocaleDateString("yyyy-MM-dd")//返回值为格式化之后的日期
当然 并不能很全的格式化 ,这里也只是提供思路。