博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于日历的算法
阅读量:4445 次
发布时间:2019-06-07

本文共 684 字,大约阅读时间需要 2 分钟。

相信很多前端的朋友都做过日历之类的一些控件什么的,其实核心的算法就是算月份的最后一天究竟是28、29、30还是31,这样的东西,可以看如下代码:

1.日历算法之“日”

//根据参数一跟参数二的年月计算该月有多少天,返回就是该月的天数, // 一月份对0,二月份对应1,如此类推,是从0开始 var countDays=function(year, month) {    var days_in_months = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//定义月份的数组,函数运行可以直接返回一个数值.    if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28;    else return days_in_months[month]; }

剩下的逻辑就很简单了,月份可以直接利用js的 ,

2.日历算法之“月”

new Date().setMonth(arg)

需要注意的new Date()的month是从0开始的,这是比较怪异的。

这里还会有个技巧;arg=0 时是1月,arg=-1就是上一年的12月了。

 

3.日历算法之“年”

年份就不用说了,因为month直接加减可以得出年份了。

 

基本上结合这些小算法,你就可以在日历届称王称霸了。不谢

转载于:https://www.cnblogs.com/dannyxie/p/5533619.html

你可能感兴趣的文章
用 Python 写一个多进程兼容的 TimedRotatingFileHandler
查看>>
6.2 element和elements
查看>>
SQL Server 2005下载安装
查看>>
UVA 816 Abbott’s Revenge
查看>>
[转]最小路径覆盖和最小边覆盖及相关性质
查看>>
Retrofit 2.1 入门
查看>>
初步了解,vue的转发机制(proxyTable)
查看>>
css兼容性记录
查看>>
矩阵分析-线性系统-3 LU分解
查看>>
UIView的几个枚举定义
查看>>
【转】十个PHP高级应用技巧
查看>>
VC++ 模块与资源分离
查看>>
服务器添加ipa MIME 类型,防止ipa下载后变zip后缀
查看>>
HDOJ2008数值统计
查看>>
饿汉式和懒汉式(单例模式详解)
查看>>
每天一个linux命令(41):ps命令
查看>>
关于加号传递到后端会变为空格的c#例子
查看>>
一次删除多个XML节点(RemoveChild())
查看>>
【Ubuntu】在Ubuntu 12.04 LTS上安装JDK6
查看>>
ubuntu 安装chm查看器chmsee
查看>>