1. Javascript中日期的格式化输出比较复杂, 这里采用正则表达式替换相应的格式.
2. new Date中 不是任何日期格式的字符串都可以new成Date对象的, 目前仅发现"yyyy/MM/dd hh:mm:ss"及UTC格式的字符串
<script type="text/javascript">
Date.prototype.format = function(format)
{
var o =
{
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
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;
}
var ddd = new Date();
alert(ddd.format('yy-MM-dd hh:mm:ss'));
var a = "2007-12-25 10:00:00" ;
var d = new Date(a.replace("-","/")) ;
alert(d.format("yyyy-MM-dd"));
</script>