日期推算/日历(小程序)

小程序日历组件(选择区间日期) 小程序日历组件(选择区间日期) .wxml <view class="calendar"> <view class="calendar_header_box"> <view class="cuIcon-back btn btnl {{prevBtn ? '' : 'cannot_edit'}}" bindtap="prevMonth"></view> <view class="time">{{year} 阅读详情

微信小程序项目,遇到这么个需求。效果图如下:

每页显示4个周的日期,可点击日期时间段,也可点击左右箭头图标进行日期翻页,这一块其实就是推算日期,把每个周的起始时间和结束时间推算出来,并正确显示出来就行了。默认(未进行左右翻页)第一个周的起始时间为当前时间即可。

 

var self;
var day = 0;
var page = 0;
var weekArr = [];

Page({

  /**
   * 页面的初始数据
   */
  data: {
    arr: [],
    clickIndex: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    self = this;
    self.getWeekArr(day);
  },

  /**
   * 点击日期
   */

  clickItem(e) {
    self.setData({
      clickIndex: e.currentTarget.dataset.index,
    });
    console.log(e.currentTarget.dataset.week_start + '-' + e.currentTarget.dataset.week_end);
  },

  /**
   * 后退
   */
  left() {
    page--;
    day = page * 28;
    self.getWeekArr(day);
  },

  /**
   * 前进
   */
  right() {
    page++;
    day = page * 28;
    self.getWeekArr(day);
  },


  /**
   * 获取周数据
   */
  getWeekArr(day) {
    weekArr.splice(0, weekArr.length);
    for (var i = 0; i < 4; i++) {
      var week = {
        'week_start': self.getDay(day),
        'week_end': self.getDay(day + 6),
      };
      weekArr.push(week);
      day += 7;
    }
    self.setData({
      arr: weekArr,
      clickIndex: 0,
    });
    console.log(self.data.arr);
    var week = self.data.arr[0];
    console.log(week.week_start + '-' + week.week_end);
  },

/**
 * 计算日期
 */
  getDay(day){
    var date = new Date();
    var milliseconds = date.getTime() + 1000 * 60 * 60 * 24 * day;
    date.setTime(milliseconds);
    var month = date.getMonth() + 1;
    var day = date.getDate();
    return month + "." + day;
  },
})
<view class='container'>
  <image src='../image/zuojiantou.png' class='arrow' bindtap='left'></image>
  <view class='date_container'>
    <view class="item {{clickIndex==index?'active':''}}" wx:for='{{arr}}' wx:key='{{item}}' 
    bindtap='clickItem' data-index='{{index}}' data-week_start='{{item.week_start}}' data-week_end='{{item.week_end}}'>
      {{item.week_start}}-{{item.week_end}}
    </view>
  </view>
  <image src='../image/youjiantou.png' class='arrow' bindtap='right'></image>
</view>
.container {
  display: flex;
  height: 200rpx;
  align-content: center;
  align-items: center;
}

.arrow {
  width: 70rpx;
  height: 70rpx;
}

.date_container {
  flex: 1;
  display: flex;
  align-items: center;
}

.item {
  width: 150rpx;
  height: 150rpx;
  font-size: 26rpx;
  background-color: #f00;
  text-align: center;
  color: white;
  line-height: 150rpx;
  border-radius: 50%;
  margin-left: 10rpx;
}

.active {
  width: 160rpx;
  height: 160rpx;
  background-color: blue;
  line-height: 160rpx;
}

——————————————————————————————————————————————————————————

还有一种是日历效果,效果图如下:

具体样式跟调整css来自定义。这里我是以弹窗的形式展示的。

<button type='primary' bindtap='showCalendar'>展示日历</button>

<view class='mask' hidden='{{show_calendar}}' bindtap='closeCalendar' catchtouchmove='true'>
  <view class='dialog'>
    <view class="calendar">
      <view class="leftBgView" bindtap="handleCalendar" data-handle="prev">
        <image src='../image/arrow_left.png' class='arrow'></image>
      </view>
      <view class="centerView">{{cur_year}} 年 {{cur_month}} 月</view>
      <view class="rightBgView" bindtap="handleCalendar" data-handle="next">
        <image src='../image/arrow_right.png' class='arrow'></image>
      </view>
    </view>

    <view class="weekBgView">
      <view class="weekView" wx:for="{{weeks_ch}}" wx:key="{{index}}">{{item}}</view>
    </view>

    <view class="dateBgView">
      <view class='emptyView' wx:if="{{hasEmptyGrid}}" wx:for="{{empytGrids}}" wx:key="{{index}}"></view>
      <view class="dateView" wx:for="{{days}}" wx:key="{{index}}" data-idx="{{index}}" bindtap="dateSelectAction">
        <view>
          <view class="datesView {{index==todayIndex?'dateSelectView':''}}">{{item.day}}</view>
          <view class='red_point_container'>
            <view wx:if='{{item.haveMeeting}}' class='red_point'></view>
          </view>
        </view>
      </view>
    </view>
  </view>
</view>
.dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: white;
}

.mask {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.4);
}

.calendar {
  height: 80rpx;
  font-size: 28rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}

.leftBgView {
  width: 80rpx;
  height: 80rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.arrow {
  width: 40rpx;
  height: 40rpx;
}

.centerView {
  width: 50%;
  height: 80rpx;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rightBgView {
  width: 80rpx;
  height: 80rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

.weekBgView {
  height: 50rpx;
  display: flex;
  align-items: center;
}

.weekView {
  width: 14.2857%;
  text-align: center;
  font-size: 28rpx;
}

.dateBgView {
  display: flex;
  flex-wrap: wrap;
}

.emptyView {
  width: 14.2857%;
}

.dateView {
  width: 14.2857%;
  height: 80rpx;
  display: flex;
  justify-content: center;
}

.datesView {
  height: 56rpx;
  line-height: 56rpx;
  text-align: center;
  font-size: 26rpx;
  display: flex;
  justify-content: center;
}

.dateSelectView {
  width: 56rpx;
  height: 56rpx;
  border-radius: 50%;
  line-height: 56rpx;
  color: white;
  text-align: center;
  background-color: green;
}

.red_point_container {
  width: 100%;
  display: flex;
  justify-content: center;
}

.red_point {
  width: 10rpx;
  height: 10rpx;
  border-radius: 50%;
  background-color: red;
}
var arr = [];
var self;
Page({

  data: {
    hasEmptyGrid: false,
    cur_year: '',
    cur_month: '',
    show_calendar: true,
  },

  onLoad(options) {
    self = this;
    //1、2、25号添加圆点儿标识
    arr.push(1);
    arr.push(2);
    arr.push(25);
    self.setNowDate();
  },

  dateSelectAction(e) {
    var cur_day = e.currentTarget.dataset.idx;
    this.setData({
      todayIndex: cur_day,
      show_calendar: true,
    })
    console.log(`点击的日期:${this.data.cur_year}年${this.data.cur_month}月${cur_day + 1}日`);
  },

  setNowDate() {
    const date = new Date();
    const cur_year = date.getFullYear();
    const cur_month = date.getMonth() + 1;
    const todayIndex = date.getDate() - 1;
    const weeks_ch = ['日', '一', '二', '三', '四', '五', '六'];
    this.calculateEmptyGrids(cur_year, cur_month);
    this.calculateDays(cur_year, cur_month);
    this.setData({
      cur_year: cur_year,
      cur_month: cur_month,
      weeks_ch,
      todayIndex,
    })
  },

  getThisMonthDays(year, month) {
    return new Date(year, month, 0).getDate();
  },

  getFirstDayOfWeek(year, month) {
    return new Date(Date.UTC(year, month - 1, 1)).getDay();
  },

  calculateEmptyGrids(year, month) {
    const firstDayOfWeek = this.getFirstDayOfWeek(year, month);
    let empytGrids = [];
    if (firstDayOfWeek > 0) {
      for (let i = 0; i < firstDayOfWeek; i++) {
        empytGrids.push(i);
      }
      this.setData({
        hasEmptyGrid: true,
        empytGrids
      });
    } else {
      this.setData({
        hasEmptyGrid: false,
        empytGrids: []
      });
    }
  },

  calculateDays(year, month) {
    let days = [];
    const thisMonthDays = this.getThisMonthDays(year, month);
    for (let i = 1; i <= thisMonthDays; i++) {
      days.push({
        day: i,
        haveMeeting: arr.indexOf(i) != -1,
      });
    }
    this.setData({
      days
    });
  },

  handleCalendar(e) {
    const handle = e.currentTarget.dataset.handle;
    const cur_year = this.data.cur_year;
    const cur_month = this.data.cur_month;
    if (handle === 'prev') {
      let newMonth = cur_month - 1;
      let newYear = cur_year;
      if (newMonth < 1) {
        newYear = cur_year - 1;
        newMonth = 12;
      }
      this.calculateDays(newYear, newMonth);
      this.calculateEmptyGrids(newYear, newMonth);
      this.setData({
        cur_year: newYear,
        cur_month: newMonth
      })
    } else {
      let newMonth = cur_month + 1;
      let newYear = cur_year;
      if (newMonth > 12) {
        newYear = cur_year + 1;
        newMonth = 1;
      }
      this.calculateDays(newYear, newMonth);
      this.calculateEmptyGrids(newYear, newMonth);
      this.setData({
        cur_year: newYear,
        cur_month: newMonth
      })
    }
  },

  /**
   * 显示日历
   */
  showCalendar() {
    self.setData({
      show_calendar: false,
    });
  },

  /**
   * 关闭日历
   */
  closeCalendar() {
    self.setData({
      show_calendar: true,
    });
  }
})

 

从零构建日历文件生成器:iCalendar格式与RRULE解析 在数字化协作中,日历文件(.ics)是跨设备分发日程事件的标准载体,它基于iCalendar协议定义事件、提醒和重复规则,让一次生成、多处导入成为可能。对于活动组织者、课程助教等需要批量分发日程的用户,掌握这一格式不仅能简化操作,还能避免手动转发带来的误差。生成合格日历文件的关键在于正确处理时区信息(如TZID与VTIMEZONE)、重复规则(RRULE)以及提醒组件(VALARM),这些细节直接影响导入后时间是否准确、事件是否按预期重复。本文以构建一个跨平台日历生成工具为切入点,梳理从事件建模到导出的完整 阅读详情

相关推荐

微信小程序未来N天可配置预约日历(带星期中文显示)

直接可用的微信小程序日历组件,专注未来指定天数内的日期选择场景,自动显示星期几(如周一、周二),支持灵活设置起始天数和展示天数。组件返回标准日期格式(YYYY-MM-DD)、对应星期中文名、是否为今日等结构化数据,方便快速接入挂号、服务预约、课程排期等业务逻辑。资源包包含完整示例页面(pages/appointment_date)、独立组件源码(components/date)、两版界面效果截图(show.jpg、show1.png)以及清晰的README说明文档,兼容主流小程序基础库版本。配套教程覆盖组件

j0k1l2m3n的博客 206

微信小程序-获取日期并计算星期几

微信小程序中已经封装了一个计算日期的,格式是2018/10/05 14:56:33,在util目录下面的util.js 同样的我们自己封装的计算日期的函数也放在util.js中。 在需要计算日期的页面引入util.js,引入代码如下: var util=require("../../utils/util.js") 功能说明:获取当前时间,并计算当前时间往后推的日期,计算星期几 util...

ChibiMarukoChan的博客 1万+

微信小程序可直接用的日历组件,带农历节气、法定调休识别和日程提醒

专为微信小程序开发的日历插件,开箱即用,无需额外配置。每日期间同步显示公历与农历信息,包括节气、生肖、干支纪年,方便安排传统节日相关事务。自动匹配国家公布的法定节假日及调休安排,通过颜色或图标直观区分放假日与补班日,避免人工维护假期表。支持按日期添加个性化提醒事项,如生日、会议、缴费截止等,可设置提前1天至7天触发弹窗或消息通知。代码结构清晰:components目录封装核心日历组件,pages提供演示页面,calendar.js负责农历转换与假期计算,utils包含常用工具函数,app.和app.wxss

smartcontract5的博客 286

微信小程序 工作时间段选择 星期几选择

1. 效果图如上  需完成时间段的选择  以及下面的工作日选择  保存按钮为formSubmit提交后台2.思路: ①时段用picker跟input  如果没有占位字符  则不需要input             ②工作日选择用checkbox  多选的样式用label  将checkbox隐藏             ③label的选择后的样式跟取消的样式,这里无需判断checked  当然也...

qq_39201210的博客 5876

日期计算程序(java)

是一个java编写的小程序,用于计算某一日到某一日之间共多少天,呵呵,可以用于计算你长这么大,活了多少天,程序很简单,给初学者学习java中关于时间等相关操作一个小启发

在树莓派上部署训练好的YOLO模型

.pt.模型转换为onnx格式的模型,树莓派上部署模型

pai_da_xing8的博客 3887

微信小程序 日历区间选择组件

有项目需求需要一个日历区间的选择器,发现vant 或者其他的日历区间选择组件不是很满足需求,于是自己改造一个;

weixin_38984353的博客 2203

去面试游戏测试工程师,面试官看着我的简历呆住了

!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

MXB1220的博客 7329

微信小程序多列选择器实现日期+时间的选择

1.实现效果 2.实现原理 mode='multiSelector'多列选择器 自定义范围数组range 3.实现代码 <!--pages/jsCase/multiTime/index4.wxml--> <view class="act_box"> <view class="act_item flex j_b"> <view class="nowp"><text class="require">*</text>

苏苏就是小苏苏的博客 2623

霍尔电流传感器在新能源汽车中的应用综述

本文旨在全面剖析霍尔电流传感器在新能源汽车领域的应用现状、技术挑战及发展趋势。通过系统梳理其在电池管理系统、电机控制、车载充电等核心系统的应用场景,深入分析面临的技术瓶颈与创新解决方案,并基于最新技术动向展望未来发展方向,为相关领域的技术创新提供参考依据。

m0_46819860的博客 2259

【YOLO 系列】基于YOLOv8的工业零件表面缺陷智能检测系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了如何基于YOLOv8深度学习模型和PyQt5图形界面,构建一套完整的工业零件表面缺陷智能检测系统。内容涵盖从环境搭建、数据集标注、模型训练调参到最终封装成可执行桌面软件的全流程,并深入解析了YOLOv8在工业视觉场景中的技术优势与落地优化策略。

ol78901234的博客 402

小程序筛选日期、时间、多选以及清空筛选

接上一文章遮罩层模板内的功能实现 日期时间选择器Picker  WXML页面 &lt;block wx:if="{{current=='0'}}"&gt; &lt;view class="limitedAt"&gt; &lt;picker mode="date" value="{{date}}" bindchange="chan

Fang格子的博客 5701

纽扣电池供电系统优化:NBM5100A与STM32F745VG组合方案

在低功耗物联网设备设计中,能量管理是核心挑战之一。纽扣电池因其体积小、成本低被广泛采用,但瞬时大电流需求常导致电压骤降和寿命缩短。通过超级电容缓冲技术,可以实现能量的细水长流式存储与集中释放。NBM5100A电源管理IC与STM32F745VG微控制器的组合方案,采用双阶段能量管理架构,先以恒定小电流充电,再通过电容释放大电流。这种方案不仅能提升系统稳定性,还能延长电池寿命3-5倍,特别适合智能门锁、无线传感器等需要间歇性高功率输出的场景。

weixin_29194255的博客 257

微信小程序日历组件:打造移动端高效日期交互解决方案

微信小程序日历组件是一款专为移动端场景设计的高效日期交互工具,通过原生小程序技术构建,提供流畅的滑动体验、灵活的日期标记和智能的禁用控制功能。无论是电商平台的促销日期选择,还是企业应用的项目排期管理,这款组件都能帮助开发者快速实现专业级的日期交互界面,显著提升用户体验和开发效率。 ## 核心价值:重新定义移动端日期交互体验 ### 实现丝滑流畅的月份切换 采用三swiper-item架构设计,

gitblog_00668的博客 288

Autosar结合simulink的汽车应用层软件开发实例

本文基于汽车应用开发案例,并结合Autosar相关知识,生成具有Autosar标准的汽车应用层开发代码,以供学习和参考。以上就是本篇内容,主要是利用Simulink创建Autosar接口并进行端口映射的方法。

m0_64899535的博客 2152

零基础学simulink仿真建模--基于Simulink进行近端策略优化(PPO)路径规划的仿真建模

特点高效性与稳定性:通过引入剪裁机制,在更新策略时限制步长,从而提高了训练过程的稳定性和效率。适用于多种动作空间:可以处理连续和离散的动作空间问题。无需模型:不需要预先知道环境的确切模型,适合复杂或未知环境。挑战收敛速度与稳定性:确保算法能够在合理的时间内找到近似最优解,并保持训练过程的稳定性。探索与利用平衡:在探索新路径和利用已知信息之间取得平衡。计算资源:对于大规模状态空间和动作空间,计算资源需求较高。首先明确要模拟的任务内容。目标(例如到达指定地点、避开障碍物等)。

amy_mhd的博客 250

计算多少天后的日期

C语言:计算多少天后的日期 有的时候我会想,再过个100天是几月几日呢?也许你可以翻翻日历,但是如果是1000天、10000天以后呢?为什么我们不写个小程序来专门处理这个问题呢?似乎也不是很复杂…… 于是这篇博客应运而生,其实计算的逻辑很简单,就是使用计算机模拟日期计数,比较有特色的地方在于switch-case的“非常规”运用—— / * * 文件名:nextdate.c * 作者:于子豪 * ...

我的blog屋 3607

在 SAP 中启用应收/应付“代扣税(Withholding Tax)”功能,本质上是激活并配置“扩展代扣税(Extended Withholding Tax)”模型

摘要:SAP中启用应收/应付代扣税功能需完成3个层级12个核心步骤:1)全局激活公司代码代扣税功能;2)配置代扣税规则、税率和科目,包括定义税种类型、代码、总账科目等;3)在供应商/客户主数据中关联代扣税设置。完成后系统可在发票或付款环节自动计算并过账代扣税,支持多税种并行计算和税率年度调整,最终生成税务报表。常见问题排查需检查公司代码激活状态和主数据配置。(149字)

金牌架构师 836

Java实现一个日历小程序

package Test; import java.time.DayOfWeek; import java.time.LocalDate; public class CalendarTest { public static void main(String[] args) { LocalDate date =LocalDate.now(); ...

diaoshi7218的博客 250

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

c语言推算多少天后日期思路,计算多少天后的日期

C语言:计算多少天后的日期有的时候我会想,再过个100天是几月几日呢?也许你能够翻翻日历,可是若是是1000天、10000天之后呢?为何咱们不写个小程序来专门处理这个问题呢?彷佛也不是很复杂……因而这篇博客应运而生,其实计算的逻辑很简单,就是使用计算机模拟日期计数,比较有特点的地方在于switch-case的“很是规”运用——/ ** 文件名:nextdate.c* 做者:于子豪* 描述:计算多少...

weixin_34736467的博客 2066

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C语言万年历 查询年历 月历 星期(日期)循环查询(2020 3 19更新)

C语言万年历 很多人都有做过万年历,于是想自己写一个。 万年历是我们日常生活中经常用到的一种非常实用的工具。 由于工作繁忙,人们常常忘记某一天是星期几,想要看看某个月的日历,或者一整年的。我把自己的想法实现如下: 1、任意年份日历的整体输出; 2、任意年任意月日历的单独输出; 3、任意年月日 查询星期几; 4、按任意键 退出; 5、循环查询,直到选择退出; ps: 以上星期几的推算只适合于1582...

songbai220 9912

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Vue日历组件实现农历与节日展示

基于Vue开发的多功能日历组件,支持公农历转换、节日标注及日期选择功能。通过calendar.js实现农历计算,结合自定义样式和交互逻辑,提供良好的用户体验。

weixin_29050829的博客 853

仿写美团酒店日期选择组件(小程序、React-Native)

日期选择 在哪 美团首页 - 酒店住宿 - 日期选择 美团上 美团小程序 & 美团App ...

weixin_33802505的博客 2037

全源码提供-贴心专业的月嫂育儿嫂预约小程序

每年超900万新生儿,月嫂育儿嫂客单价12800-25800元,是服务预约最高客单价赛道。本文介绍基于Vue3的月嫂育儿嫂预约小程序,覆盖客户+月嫂+管理后台三角色,支持档期日历、宝宝信息表单、资质审核、面试签约、6步进度等特色功能。

qwert 245

Excel日期加天数的5类陷阱与4种安全计算法

在电子表格处理中,日期计算是数据准确性的基石。Excel底层将日期存储为序列号,但用户常误将文本型日期、含时间戳值或非法日期直接参与运算,导致#VALUE!错误、跨月溢出或时区偏差。掌握DATE函数的智能进位、WORKDAY的工作日逻辑、EDATE的月份自适应及基础加法的适用边界,是规避财务错账、项目延期与合规风险的关键。尤其在财务付款、临床随访、大促排期等强业务规则场景中,必须区分自然日、工作日与日历月三类时间粒度。本文聚焦Excel日期类型识别、函数选型决策与三层防护体系,助力从业者构建鲁棒的日期计算流

weixin_30896511的博客 405

微信小程序:阳历与农历互转、24节气、闰年

样例小程序二维码,我自己做的一个免费好用的【随机选择决定转盘工具】小程序,欢迎扫码体验呦!1、在utils目录下创建caledar-tools.js。

通往成功之路的一个过客 703
上一篇: flutter状态管理---provider
下一篇: flutter开发常用插件整理
尘彦
博客等级 码龄11年 92粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘彦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值