微信小程序-WXS文件的使用(保留2位小数+url处理+时间戳转日期+数组截取)

 一、WXS文件内容

//t.wxs

//保留小数
var toFix = function (value = 0, digits = 2) {
  return value.toFixed(digits);
}

//拼接图片url
var toUrl = function (path = "") {
  if (path.indexOf("http://") != -1) {
    return path.replace("http://", "https://");
  }
  else if (path.indexOf("https://") != -1) {
    return path;
  }
  else {
    return "https://xxx.xxx.com" + path;
  }
}

/** 
 * 时间戳转化为年 月 日 时 分 秒 
 * number: 传入时间戳 
 * format:返回格式,支持自定义
*/
var dateFormat = function (timestamp, format = "yyyy-MM-dd hh:mm:ss") {
  if(timestamp == undefined) {
    return "";
  }
  timestamp = parseInt(timestamp);
  var realDate = getDate(timestamp);
  function timeFormat(num) {
    return num < 10 ? '0' + num : num;
  }
  var date = [
    ["M+", timeFormat(realDate.getMonth() + 1)],
    ["d+", timeFormat(realDate.getDate())],
    ["h+", timeFormat(realDate.getHours())],
    ["m+", timeFormat(realDate.getMinutes())],
    ["s+", timeFormat(realDate.getSeconds())],
    ["q+", Math.floor((realDate.getMonth() + 3) / 3)],
    ["S+", realDate.getMilliseconds()],
  ];
  var reg1 = regYear.exec(format);
  if (reg1) {
    format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));
  }
  for (var i = 0; i < date.length; i++) {
    var k = date[i][0];
    var v = date[i][1];
    var reg2 = getRegExp("(" + k + ")").exec(format);
    if (reg2) {
      format = format.replace(reg2[1], reg2[1].length == 1
        ? v : ("00" + v).substring(("" + v).length));
    }
  }
  return format;
}
var regYear = getRegExp("(y+)", "i");


//数组截取
var slice = function slice(arr, start = 0, end = 0) {
  return arr.slice(start, end);
}


module.exports = {
  toFix: toFix,
  toUrl: toUrl,
  dateFormat: dateFormat,
  slice: slice,
}

二、使用方法

在wxml文件顶部引入

<wxs src="../../../utils/t.wxs" module="T" />

使用示例

<image class='icon' mode='aspectFill' src='{{T.toUrl(picUrl)}}'></image>
<text class="price">{{T.toFix(price)}}</text>
<view class='grid-item' wx:for="{{T.slice(category, 0, 10)}}" wx:key="{{item.id}}" data-id='{{item.id}}'></view>
<text class='time'>{{T.dateFormat(date, "yyyy/MM/dd")}}</text>

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序的 WXS 中,由于 WXS 不支持直接使用 Date 对象和相关方法,因此我们需要通过字符串的处理来计算距离生日的时间,并获取今天、明天、后天以及月份和日期。 以下是一个示例代码: ```javascript // 获取当前日期 var now = new Date(); var today = now.getTime(); // 当前日期时间 // 获取生日日期字符串 var birthdayString = '2022-01-01'; // 出生日期字符串,格式为 'YYYY-MM-DD' // 计算生日的时间 var birthday = new Date(birthdayString); birthday.setFullYear(now.getFullYear()); // 设置生日年份为今年,确保不会跨年份计算 var birthdayTime = birthday.getTime(); // 计算距离生日的时间差 var timeDiff = birthdayTime - today; // 计算距离生日的天数 var daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); // 根据天数判断是今天、明天、后天还是其他日期 var result; if (daysDiff === 0) { result = '今天'; } else if (daysDiff === 1) { result = '明天'; } else if (daysDiff === 2) { result = '后天'; } else { result = birthday.getMonth() + 1 + '-' + birthday.getDate(); } console.log(result); // 输出结果 ``` 你可以将上述代码嵌入到你的微信小程序中,将 `birthdayString` 替换为你需要计算的出生日期字符串,然后通过 `console.log(result)` 输出结果。这样就能够根据出生日期字符串获取距离生日的时间,返回今天、明天、后天或者月份和日期的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值