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

embedded/2024/12/22 9:17:16/

编译环境

微信开发者工具

问题

小程序中无法实现对日期的切割,并且可能会出现日期少一天的问题,这个问题可以由后端进行解决,也可以前端,这里用了前端新建一个wxs转换文件进行解决。
比如数据库中的数据是2024-03-02… 但是返回给前端的是2024-03-01…

第一步

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

添加内容

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文件中引入这个文件

<wxs module="filter" src="/utils/filter.wxs"></wxs>

使用

<text>日期: {{filter.addOneDay(ldate)}}</text>

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

详解代码

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


http://www.ppmy.cn/embedded/19675.html

相关文章

十一、多模态大语言模型(LLaVA)

1 LLaVA多模态大语言模型的训练过程 两个阶段 特征对齐的预训练。只更新特征映射矩阵端到端微调。特征投影矩阵和LLM都进行更新 2 LLaVA1.5多模态大语言模型的训练 LLaVA官网 python -m llava.serve.controller --host 0.0.0.0 --port 10000 python -m llava.serve.gradi…

java自动生成pojo,springboot自动生成pojo

第一步 pom引入依赖 <dependencies><!-- mybatis-generator --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency>&…

一篇文章带您学会CSS的动画

动画和过渡的区别 过渡&#xff1a;实现两个状态间的变化过程。 动画&#xff1a;实现多个状态间的变化过程。动画过程可控&#xff08;重复播放&#xff0c;最终动画&#xff0c;是否暂停&#xff09; 动画的实现步骤 1.定义动画 书写格式 keyframes 动画名称{from{}to{…

开机流程+文件系统

linux的开机启动流程 1.开启电源 2.BIOS/UEFI 阶段&#xff1a; 计算机开机时&#xff0c;首先执行基本输入/输出系统 (BIOS) 或统一可扩展固件接口 (UEFI) 中的启动程序。 BIOS/UEFI 会进行自检 (POST)&#xff0c;初始化硬件设备&#xff0c;并检测可用的启动设备。 3.Boot…

SQL查询一页数据过多太慢

一页取5000~10000条数据 查询很慢 1&#xff09;加索引 2&#xff09;设置fetchSize Select("<script> SELECT * from A \n" "</script>") Options(fetchSize 3000, resultSetType ResultSetType.FORWARD_ONLY) …

【经验分享】MySQL集群部署一:主从模式

目录 前言一、基本介绍1.1、概念1.2、执行流程 二、部署2.1、通用配置2.2、主节点配置2.3、从节点配置2.4、主从测试2.5、谈一谈主节点历史数据同步问题 前言 MySQL的部署模式常见的包括以下几种&#xff1a; 独立服务器部署主从复制部署高可用性集群&#xff08;HA&#xff…

Node.js 环境变量动态获取和静态获取的区别

Node.js 环境变量动态获取和静态获取的区别 Node.js 环境 vs 浏览器环境 process.env.SERVICE_PORTAL: 适用环境&#xff1a;Node.js 环境。用途&#xff1a;访问操作系统的环境变量。 import.meta.env.SERVICE_PORTAL: 适用环境&#xff1a;浏览器环境&#xff0c;特别是在使…

小程序线多点路图绘制

需求 当接口返回一连串地图坐标&#xff0c;需要根据这些坐标串联起来&#xff0c;形成一个线路图&#xff08;本次使用步行导航线路图&#xff09;。 思路 首先优先想到使用小程序Map组件的polyline属性去进行展示。但是我们发现直接使用该属性进行坐标绘制画出来的数据都是…