/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * 例子: * (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 * */ Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o){ if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; }
<pre name="code" class="javascript">/** * 获取格式化时间 */ var DateUtil ={ FMT_YYYY_MM_DD_HHMMSS:"yyyy-MM-dd hh:mm:ss", FMT_YYYYMMDD_HHMMSS_ZH:"yyyy年MM月dd日hh小时mm分ss秒", FMT_YYYYMMDD:"yyyyMMdd", FMT_YYYY_MM_DD_ZH:"yyyy年MM月dd日", FMT_YYYY_MM_DD:"yyyy-MM-dd", getFmt_yyyy_mm_dd_hhmmss:function(){ return new Date().Format(DateUtil.FMT_YYYY_MM_DD_HHMMSS); }, getFmt_yyyymmdd_hhmmss_zh:function(){ return new Date().Format(DateUtil.FMT_YYYYMMDD_HHMMSS_ZH); }, getFmt_yyyymmdd:function(){ return new Date().Format(DateUtil.FMT_YYYYMMDD); }, getFmt_yyyy_mm_dd_zh:function(){ return new Date().Format(DateUtil.FMT_YYYY_MM_DD_ZH); }, getFmt_yyyy_mm_dd:function(){ return new Date().Format(DateUtil.FMT_YYYY_MM_DD); }, getDateFormat:function(formatVal){ return new Date().Format(formatVal); }, getDateTOFormat:function(Date,formatVal){ return Date.Format(formatVal); } }
/** * 获取当前月份的最后一天 * year :年 * month :月份 * fmt :格式化类型 默认 DateUtil.FMT_YYYYMMDD */ function getFirstAndLastMonthDay( year, month,fmt){ var day = new Date(year,month,'0'); if(!fmt){ alert(1); fmt = DateUtil.FMT_YYYYMMDD; } var lastdate = year + fmt + month + fmt + day.getDate();//获取当月最后一天日期 return DateUtil.getDateTOFormat(day,fmt); }