微信小程序转日期格式

在做微信小程序的时候,总是碰到要转日期格式的问题,然后各种找博客,找微信社区,总结了一下,大概有以下几种方法:

微信小程序云开发数据库中提出的日期格式:Sun Mar 15 2020 22:43:32 GMT+0800 (中国标准时间)

 

第一种:利用循环数组然后格式化日期,再把日期值重新赋值到原来的数组中

贴代码:

for (var a = 0; a < res.data.length; a++) {

     res.data[a]._datetime = res.data[a]._datetime.toLocaleDateString();

 }

好处:方法古老,逻辑较为简单
坏处:只能显示成 “2016/5/6”这样的格式

 

第二种:与第一种方法类似,也是循环,但是日期格式不一样

贴代码:

for (var a = 0; a < res.data.length; a++) {

        var unixTimestamp = new Date(res.data[a]._datetime)

        var birthday = unixTimestamp.getFullYear() + "年" + (unixTimestamp.getMonth() + 1) + "月" + unixTimestamp.getDate() + "日 " + unixTimestamp.getHours() + ":" + unixTimestamp.getMinutes() + ":" + unixTimestamp.getSeconds();

        res.data[a]._datetime = birthday;

}

日期显示:

好处:日期格式规整,可自由调整

坏处:需要写for循环,代码数较多,多个JS模块使用可能会重复

 

第三种:利用WXS模块,可以避免重复写JS

var ToDate = function(number1){

var date = getDate(number1);

var Y = date.getFullYear() + '-';

var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';

var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();

var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();

var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();

var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();

return (Y + M + D + " " + h + ":" + m + ":" + s);

}

module.exports.ToDate = ToDate;

{{m1.ToDate(sendTimeTS)}}

日期显示:

好处:代码简洁,逻辑清晰

坏处:需要传入毫秒数,将Sun Mar 15 2020 22:43:32 GMT+0800 (中国标准时间)转化为毫秒数传入用【getTime方法】

 

有时日期会显示[Object object]这样,getTime()传入毫秒数有时即可解决,因为微信云开发拉的日期是:Sun Mar 15 2020 22:43:32 GMT+0800 (中国标准时间)  这种格式

你可能感兴趣的:(微信小程序转日期格式)