//在action从后台数据库中请求获得日期以后,得到的是json格式的数据,因此要解析才能显示在前台
1.在jsp页面写的代码如下:
<html> <script> 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; } </script> <body> <script> var date = new Date(); console.info(date); console.info(date.format("yyyy-MM-dd hh:mm")); </script> </body> </html>
2. 上述示例代码中,我们还是需要指定format,这里先抽象出一个formatDatebox函数,用于显示日期.
在js中写的代码如下:
function formatDatebox(value) { if (value == null || value == '') { return ''; } var dt; if (value instanceof Date) { dt = value; } else { dt = new Date(value); } return dt.format("yyyy-MM-dd"); //扩展的Date的format方法(上述插件实现) }
测试方法:
console.info(formatDatebox(1402367297000));//括号中的内容可以等价替换为数据库中请求得到的日期json数据