单机游戏实现周签到,判断是否在同一周

单机游戏也要写个周签到,很令人迷醉,但是暴力抗法是不对的,还是要听话的,这里标记一下。

首先标记一下js中获取时间的一些方法:

var myDate = new Date(); //获取系统时间

myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间

这些方法很常用,对于我这种写单机游戏的人,基本上每个项目都要用到。

签到主要就是两种方式,周签到和月签到,由上边的方法来看,月签到还是很和谐的,毕竟可以直接获取月份,获取日,再根据月份判断一下这个月有几天,今天到了第几天。但是周签到相对就没有那么和善了,怎么判断是这周过了还是没过呢?我的思路是,获取到目前的时间,然后转化到今天的凌晨的时间点的毫秒数,然后再去拉取今天星期几,再往前推对应的天数,找到当前天数所在的周一的凌晨点毫秒数,比对之前存储的数值,相同的话就是同一周,处理。不同的话就说明不是同一周,再覆盖存储周一的值,再处理。

我自己封装的代码如下:

单机游戏实现周签到,判断是否在同一周_第1张图片

 

你可能感兴趣的:(单机游戏实现周签到,判断是否在同一周)