微信小程序手写文件解决日期少一天且格式无法切割问题

编译环境

微信开发者工具

问题

在小程序中无法实现对日期的切割,并且可能会出现日期少一天的问题,这个问题可以由后端进行解决,也可以前端,这里用了前端新建一个wxs转换文件进行解决。

比如数据库中的数据是2024-03-02... 但是返回给前端的是2024-03-01...

第一步

utils 文件夹下新建一个文件名叫filter.wxs,这个文件主要的价值就是进行日期转换和添加1一天的操作。

添加内容

c 复制代码
function addOneDay(dateStr) {
  var parts = dateStr.split('-');
  var year = parseInt(parts[0], 10);
  var month = parseInt(parts[1], 10);
  var day = parseInt(parts[2], 10);

  day += 1;

  var daysInMonth = getDaysInMonth(year, month);
  if (day > daysInMonth) {
    day = 1;
    month += 1;
    if (month > 12) {
      month = 1;
      year += 1;
    }
  }

  return formatYearMonthDay(year, month, day);
}

function getDaysInMonth(year, month) {
  switch (month) {
    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
      return 31;
    case 4: case 6: case 9: case 11:
      return 30;
    case 2:
      if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
        return 29;
      } else {
        return 28;
      }
    default:
      return 30; 
  }
}

function formatYearMonthDay(year, month, day) {
  var monthStr = month < 10 ? '0' + month : '' + month;
  var dayStr = day < 10 ? '0' + day : '' + day;
  return year + '-' + monthStr + '-' + dayStr;
}

module.exports = {
  addOneDay: addOneDay
}

在wxml文件中引入这个文件

c 复制代码
<wxs module="filter" src="/utils/filter.wxs"></wxs>

使用

c 复制代码
<text>日期: {{filter.addOneDay(ldate)}}</text>

解决,如果有兴趣看点解决问题的过程,请往下看

详解代码

在上述文件中我们创建了三个函数,第一个函数add主要是用户对日期的添加,因为微信开发者工具不允许使用部分date函数,这里我们用到的是parseInt来进行切割,并且考虑到了年初和闰月的问题,最后调用一个日期格式化的函数。返回的就是添加一天且日期格式化的函数。但是格式是yyyy-mm-dd,如果想要别的格式的朋友也自行切割添加即可。

相关推荐
爱勇宝1 小时前
我做了一个亲子成长小程序:想把“催孩子”变成“看见孩子”
微信小程序·产品·全栈
biwenyunnet3 小时前
【99做小程序只认餐宝盈】连锁餐饮小程序怎么做:从系统架构、技术选型到表结构与接口设计的完整实践
小程序·系统架构
27669582924 小时前
拼多多m端/小程序 encrypt_info
java·小程序·apache·encrypt_info·encrypt_info解密·拼多多小程序·拼多多m端
克里斯蒂亚诺更新5 小时前
微信小程序体验版可以获取当前位置但是正式版不可以-办法解决
微信小程序·小程序
巴巴博一5 小时前
uni-app / 微信小程序中 open-type=“share“ 按钮样式异常,和普通 view 无法齐平的解决方案
微信小程序·uni-app·notepad++
资深前端之路5 小时前
微信小程序节点最大限制为5000个
微信小程序·小程序
cosinmz7 小时前
PDF 发票合并经验分享:月初高效整理发票的实用方法
经验分享·小程序·pdf·pdf转换·pdf发票合并·发票合并打印
wuxia211815 小时前
微信小程序单击元素切换元素的显示和隐藏
javascript·微信小程序·setdata
2501_9160074718 小时前
前端开发常用软件与工具全面指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915909061 天前
iOS应用性能优化:十大策略提升用户体验与开发效率
android·ios·小程序·https·uni-app·iphone·webview