?????? 最近遇到一个问题,使用jquery从后台获取到一个java.util.Date类型的对象,该时间对象作为另一个对象的属性传入,需要在前台页面中格式化输出为“yyyy-MM-dd hh:mm:ss”的形式,试了多种方法,将最后解决的方法记录一下,方便以后使用。
?
1、首先,需要定义一个js方法,用于格式化javascript中Date类型为指定的字符串。
?
/** * 时间对象的格式化; */ Date.prototype.format = function (format) { /* * eg:format="YYYY-MM-dd hh:mm:ss"; */ 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; }
?
2、获取到java总的Date对象,并转换为js中的Date对象。
?
var javaDate=‘<c:out value="${request.javaDate}"/>’; var jsDate=new Date(javaDate.time);
?
?3、将jsDate类型转换为制定的字符串。
var dateStr=jsDate.format("yyyy-MM-dd hh:mm:ss");
?