js中格式化时间字符串
在javascript中,关于时间格式的转换。
可以将“2010-1-2” 转换为 “2010-01-02 00:00:00”
或者将“2010-1-2 2:13:6" 转换为 “2010-01-02 02:13:06”
第一种格式转换
1.<script> 2.umber.prototype.pad2 =function(){ 3. return this>9?this:'0'+this; 4. } 5. Date.prototype.format=function (format) { 6. var it=new Date(); 7. var it=this; 8. var M=it.getMonth()+1,H=it.getHours(),m=it.getMinutes(),d=it.getDate(),s=it.getSeconds(); 9. var n={ 'yyyy': it.getFullYear() 10. ,'MM': M.pad2(),'M': M 11. ,'dd': d.pad2(),'d': d 12. ,'HH': H.pad2(),'H': H 13. ,'mm': m.pad2(),'m': m 14. ,'ss': s.pad2(),'s': s 15. }; 16. return format.replace(/([a-zA-Z]+)/g,function (s,$1) { return n[$1]; }); 17. } 18.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>