当前位置: 知识网 > 建站问题

ajax中如何处理接收到的时间数据,strftime无法使用

知识网2021年11月12日 08:17原创

ajax接受到了后台返回的数据,包含了时间,使用jinjia2模板中的strftime('%Y%m%d')直接无法使用,那该怎么办呢,找到了两个处理方式,下面详细介绍一下。

第一种方法:new Date(x.birth).toLocaleDateString()

ajax拼接处理时间图例:

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里面的‘-’可以随意修改,改成年月日等等。

自定义函数处理date

效果如下:

自定义函数处理时间效果

总结:这个自定义函数用起来确实不错,可以自定义自己喜欢的格式,但是亲测之后发现速度变慢了很多,特别是在线上大量数据的时候测试有点卡顿,因此对速度要求不高的项目可以使用第二种方法,如果是web项目,对打开速度有很高的要求,注重用户体验,那么还是推荐第一种方法。

很赞哦!(3)

发表高见 (请对您的言行负责)

©芃睿知识网 版权所有 2012-2023 shsongjiang.com

备案号:赣ICP备2022001527号-1