Jquery - FormatDate
日期格式化
1.Jquery 自带方法
var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间
对 Date 的基本格式化
var myDate = new Date(); myDate.toGMTString(); 将一个日期按照GMT格式显示 myDate.toLocaleString(); //将一个日期按照本地操作系统格式显示 myDate.toLocaleDateString(); //按照本地格式显示一个日期对象的日期部分 myDate.toLocaleTimeString(); //按照本地格式显示一个日期对象的时间部分(1-31)
对Date 的基本格式化加自带格式
引入DateFormat.js 或者 直接引入 jslib/jsjava-2.0.js
var df=new SimpleDateFormat();//jsJava1.0需要使用DateFormat对象 df.applyPattern("yyyy-MM-dd HH:mm:ss"); var date=new Date(2007,3,30,10,59,51); var str=df.format(date); document.write(str);//显示结果为:2007-04-30 10:59:51
2.重写格式化方法
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 d =new Date().format('yyyy-MM-dd');
重写方法2
Date.prototype.format = function (format) //author: meizz { 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; }
function formatDate(val) { var re = /-?\d+/; var m = re.exec(val); var d = new Date(parseInt(m[0])); return d.format("yyyy-MM-dd"); }