知识网2021年11月12日 08:17原创
ajax接受到了后台返回的数据,包含了时间,使用jinjia2模板中的strftime('%Y%m%d')直接无法使用,那该怎么办呢,找到了两个处理方式,下面详细介绍一下。
第一种方法:new Date(x.birth).toLocaleDateString()
ajax拼接处理时间图例:
内部直接可以使用的函数toLocaleDateString(),但是这个函数不同的浏览器返回的格式不同,无法接受的朋友可以使用第二种方法。
第二种方法:自定义函数处理
可以根据自己的喜好自定义显示格式,首先自定义format函数。
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;
}
调用new Date(x.birth).format(&yyyy-MM-dd&),format里面的‘-’可以随意修改,改成年月日等等。
效果如下:
总结:这个自定义函数用起来确实不错,可以自定义自己喜欢的格式,但是亲测之后发现速度变慢了很多,特别是在线上大量数据的时候测试有点卡顿,因此对速度要求不高的项目可以使用第二种方法,如果是web项目,对打开速度有很高的要求,注重用户体验,那么还是推荐第一种方法。
很赞哦!(3)
©芃睿知识网 版权所有 2012-2023 shsongjiang.com
版权申明:本站部分文章来自互联网,如有侵权,请联系邮箱xiajingzpy@163.com,我们会及时处理和回复!