美文网首页
小米日历一个小实现

小米日历一个小实现

作者: 姜小白哦 | 来源:发表于2020-01-01 10:20 被阅读0次

相信大家在开发app(原生、h5、混编)的时候,总会遇到一些自带的控件没办法直接使用,就拿我前些天工作上遇到的一个需求,我需要做一个类似于企业微信考勤打开的日历,上面可以统计员工每个的考勤情况,那么直接拿原生的控件肯定无法实现这个需求的(至少原生android、h5的一些ui框架没有找到现成的),那么这个实现我们就需要自己手动去实现。

那么如何去实现一个日历呢?在这里我就以小米日历为例子将下核心思路和算法

第一步:我们需要算出xxxx年xx月有多少天,这个很简单我就不贴代码了。

第二步:我们需要算出xx月的第一天是星期几,那么我们就要使用“蔡勒公式”去实现,具体公式讲解在这个链接里面: https://zh.wikipedia.org/wiki/%E8%94%A1%E5%8B%92%E5%85%AC%E5%BC%8F [这是维基百科,需要搭个梯子]

第三步:我们需要知道,xx月的上一个月有多少天,我们来看下,下图中的小米日历:

小米日历截图

我们一眼可以看到在数字的上面分别是:日、一、二、三、四、五、六。2019年12月1日是 “一”、而2020年1月1日是“三”,那么:日、一、二就是上个月的多少号了。接下来我们就可以通过这个通项公式把上个月对应的号数算出来。

   1、2020.1.1是星期三,这一天和星期日相差3天,这个我们在第二大步实现的时候可以一并算出来   

   2、用算出来的差做为一个单循环

   3、用:ds+(j+(-n)) 算出结果,其中:ds表示上个月的天数、j是n的循环变量、n是第一小步求出来的差

  最后我们以2020.1.1号做验证,ds=31, j=1&&j<=3,n=3

    j=1   31+(1+(-3))=29

    j=2   31+(2+(-3))=30

    j=3   31+(3+(-3))=31

总结:貌似没啥好总结的,实现都比较简单,希望对大家有所帮助,努力做一名合格的程序员吧,共勉。

相关文章

  • 小米日历一个小实现

    相信大家在开发app(原生、h5、混编)的时候,总会遇到一些自带的控件没办法直接使用,就拿我前些天工作上遇到的一个...

  • 实现一个仿小米日历控件

    项目地址:https://github.com/landscapeside/DragCalendar 先看效果图:...

  • 小爱同学“召唤”微软小冰,成为“好闺蜜”

    小米IoT开发者大会上,小米宣布,小爱同学已与微软小冰实现互连,可对微软小冰进行唤醒。小米表示,小爱同学是小米AI...

  • 2019-06-18 关于outlook日历和手机同步的方法?

    关于window电脑,默认的日历功能一般是使用Outlook的日历。过去使用小米4c的时候,小米的日历可以直接和o...

  • 仿小米日历

    仿MIUI日历 一款仿miui日历,月视图,周视图滑动切换,时间从1901-01-01到2099-12-31 支持...

  • 小程序日历功能实现

    前言:之前想过写一下小程序的日历功能练练手,只是确实有些懒没怎么动手,最近项目有这方面的需求就花了小半天的时间实现...

  • 高仿小米日历

    一款仿miui,仿小米,日历,周日历,月日历,月视图、周视图滑动切换,农历,Andriod Calendar , ...

  • NO.11【日历APP】让你爱上每一天

    【小米日历】: 如图是【小米日历】首页面,而点击右上角的“周”是统计“本周属于本年度的第几周”,“日”是统计今天是...

  • 最低成本搭建家庭影院要几步

    硬件设备:小米盒子3增强版 小米路由 小爱音箱 iPhone 黑苹果主机 macbook 实现功能: 每天手机连接...

  • 高仿小米日历

    高仿小米日历 https://github.com/wuda615/StickyCalendar [TOC] 使用...

网友评论

      本文标题:小米日历一个小实现

      本文链接:https://www.haomeiwen.com/subject/phywoctx.html