微信小程序wxml文件内时间转换(wxs)

在上一篇文章中我们简单介绍了wxs文件的使用,
在这篇文章中我们来说一下:
如何在wxml文件中完成时间与时间戳的相互转换。。。
这里使用的函数是用之前介绍的一个函数修改过来,
想看在JS中如何使用的可以点击(JS时间戳和日期格式互相转换

小程序中事件转换函数如下(common.wxs)文件:

var time = {
    TimeToDate: function (date, format) {
        format = format || 'YYYY-MM-DD hh:mm:ss';
        var dateTest = (getRegExp('^(-)?\d{1,10}$').test(date) || getRegExp('^(-)?\d{1,13}$').test(date));
        if (getRegExp('^[1-9]*[1-9][0-9]*$').test(date) && dateTest) {
            var vdate = parseInt(date);
            if (getRegExp('^(-)?\d{1,10}$').test(vdate)) {
                vdate = vdate * 1000;
            } else if (getRegExp('^(-)?\d{1,13}$').test(vdate)) {
                vdate = vdate * 1000;
            } else if (getRegExp('^(-)?\d{1,14}$').test(vdate)) {
                vdate = vdate * 100;
            } else {
                alert("时间戳格式不正确");
                return;
            }
            var setdate = getDate(vdate);
            return parse({ YYYY: setdate.getFullYear(), MM: digit(setdate.getMonth() + 1), DD: digit(setdate.getDate()), hh: digit(setdate.getHours()), mm: digit(setdate.getMinutes()), ss: digit(setdate.getSeconds()) }, format);
        } else {
            //将日期转换成时间戳
            re = getRegExp('(\d{4})(?:\D?(\d{1,2})(?:\D?(\d{1,2}))?[^\d\s]?)?(?:\s+(\d{1,2})\D?(\d{1,2})\D?(\d{1,2}))?').exec(date);
            return getDate(re[1], (re[2] || 1) - 1, re[3] || 1, re[4] || 0, re[5] || 0, re[6] || 0).getTime() / 1000;
        }

        function parse(ymdhms, format) {
            var regymdzz = "YYYY|MM|DD|hh|mm|ss|zz";
            return format.replace(getRegExp(regymdzz, "g"), function (str, index) {
                return str == "zz" ? "00" : digit(ymdhms[str]);
            })
        }
        function digit(num) {
            return num < 10 ? "0" + (num | 0) : num;
        }
    }
}
module.exports = {
    TimeToDate: time.TimeToDate,
}

使用方法:

<wxs module="common" src="../../utils/common.wxs"></wxs>
<!--index.wxml-->
<view>
    <!-- 时间戳转日期 -->
    <view>1575429950</view>
    <view>{{common.TimeToDate(1575429950)}}</view>
    <view>{{common.TimeToDate(1575429950,'YYYY年MM月DD日 hh时mm分ss秒')}}</view>
    <view>   </view>
    <!-- 日期转时间戳 -->
    <view>2019-12-04 11:25:50</view>
    <view>{{common.TimeToDate('2019-12-04 11:25:50')}}</view>
    <view>{{common.TimeToDate('2019年12月04日 11时25分50秒')}}</view>
</view>

显示输出: 冯奎博客

冯奎博客
请先登录后发表评论
  • latest comments
  • 总共0条评论