js中格式化时间字符串
在javascript中,关于时间格式的转换。
可以将“2010-1-2” 转换为 “2010-01-02 00:00:00”
或者将“2010-1-2 2:13:6" 转换为 “2010-01-02 02:13:06”
第一种格式转换
<script>
umber.prototype.pad2 =function(){
return this>9?this:'0'+this;
}
Date.prototype.format=function (format) {
var it=new Date();
var it=this;
var M=it.getMonth()+1,H=it.getHours(),m=it.getMinutes(),d=it.getDate(),s=it.getSeconds();
var n={ 'yyyy': it.getFullYear()
,'MM': M.pad2(),'M': M
,'dd': d.pad2(),'d': d
,'HH': H.pad2(),'H': H
,'mm': m.pad2(),'m': m
,'ss': s.pad2(),'s': s
};
return format.replace(/([a-zA-Z]+)/g,function (s,$1) { return n[$1]; });
}
alert(new Date().format('yyyy-MM-dd HH:mm:ss'));
</script>
第二种格式转换
<script>
function formatDate(date, format) {
if (!date) return;
if (!format) format = "yyyy-MM-dd";
switch(typeof date) {
case "string":
date = new Date(date.replace(/-/, "/"));
break;
case "number":
date = new Date(date);
break;
}
if (!date instanceof Date) return;
var dict = {
"yyyy": date.getFullYear(),
"M": date.getMonth() + 1,
"d": date.getDate(),
"H": date.getHours(),
"m": date.getMinutes(),
"s": date.getSeconds(),
"MM": ("" + (date.getMonth() + 101)).substr(1),
"dd": ("" + (date.getDate() + 100)).substr(1),
"HH": ("" + (date.getHours() + 100)).substr(1),
"mm": ("" + (date.getMinutes() + 100)).substr(1),
"ss": ("" + (date.getSeconds() + 100)).substr(1)
};
return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function() {
return dict[arguments[0]];
});
}
alert(formatDate("2010-04-30", "yyyy-MM-dd HH:mm:ss"));
alert(formatDate("2010-4-29 1:50:00", "yyyy-MM-dd HH:mm:ss"));
</script>