小程序--含有今天,明天,后天, 今天一10分钟为时间段显示当天剩余时间 的 时间组件

需求:
实现一个包含有:今天,明天,后天,时间的显示是以10分钟为一个时间段的,而且今天的只显示剩余的时间。
效果图:
在这里插入图片描述
思路:
1、因为只显示今天,明天和后天,不需要具体的日期,所以我就没有通过获取当前日期去推算,而是,直接将这三个值组为数组来使用;
2、通过for循环,在(0,24)和(0,59)之间组成小时和分钟的数组,但是这边需要的是十分钟的时间段,所以我就把分钟的数组处理为以10为单位的数字了,最后通过双重for循环来组成一天中所有符合要求的数组;
3、获取当前时间,通过判断当前的分钟所处的时间段,把该时间段和当前小时组成符合要求的一个值,在去判断改值在第二步中获得的数组的位置,通过数组截取便可以拿到今天的符合要求的数组了。
4.如此,拿到了所有要用的数据,剩下的就是渲染页面了
具体实现过程:
1.页面:

<view class="picker-wrap"> 
  <view class="time-title">预计送达时间</view>
  <view class="time-content">
    <view class="time-left">
      <view wx:for="{
   {date}}" wx:key="*this" data-index="{
   {index}}" data-item="{
   {item}}"
        class="{
   {dateIdx==index?'active':''}}" bindtap="toggleDate" data-current="{
   {index}}">{
   {
   item}}</view>
    </view>
    <view class="time-right">
      <swiper vertical="true" current="{
   {dateIdx}}">
        <swiper-item class="flex-wrap" >
          <scroll-view scroll-y class="scroll" wx:if="{
   {dateIdx==0}}" style="height:{
   {scrollHeight}}px">
            <view  wx:for='{
   {time}}' wx:key="index" data-item="{
   {item}}" bindtap="toggleTime" >
              <text class="{
   {index==timeIdx?'active':''}} flex-con">{
   {
   item}}</text>
              <image wx:if="{
   {index==timeIdx}}" src="/images/duihao.png" mode="aspectFill" class="flex-con"/>
            </view>
          </scroll-view>
        </swiper-item>
        <swiper-item class="flex-wrap" >
          <scroll-<
在微信小程序的 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、付费专栏及课程。

余额充值