时间重置
近期参与的项目中涉及到时间计算的问题,就是首先获取到数据库中最新数据的日期,并根据这个时间去获取一个月前、3月前、一年前等时间段的数据,并且要显示每个时间段的最开始的时间。关于时间的处理,对于后台开发的攻城师们来说可能是小case中的小case,代码量可能也是一两行就搞定,然前端童鞋要用js去处理相对来说可能会比较麻烦,但是根据需求,有时候无可避免的必须要去进行处理。这里记录的是个人觉得相对来说比较简便的方法,代码如下所示:这里预设获取到最新数据的日期时间为:2016年12月31日。
1、首先是获取一个月前的时间的代码:
2、下面的是获取三个月前的时间的代码:
代码中的date、date1是个时间对象,首先通过set的时间方法把时间设置为获取的最新数据的时间。设置时间后通过get时间方法获取到设置的时间的年月日,对应代码中的oldYear、oldMonth、oldDay。注意:代码中的date.setMonth(12-1),里面的参数12是表示我们获取的最新数据的时间月份是12月,减1时因为国际时间11代表我们北京时间12月份,所以要减1。然后设置一个月前、三个月前的日期,通过date.setMonth(oldMonth-1)即可计算一个月前、三个月前的日期。设置后必须重新通过get方法获取设置后的时间(注意月份需要再加上1方是我们的北京时间),即能获取到一个月前、三个月前的时间。上面代码的运行效果如下:
这里说下date.setMonth(oldMonth-1)的时间计算。这里用月份减1,实际上是减去上一个月的天数的时间。比如说最新时间是2015年3月31日,则实际通过月份减1后再获取到的一个月前的日期为2015年3月3日。这是因为2015年的2月份只有28天,则这个时间计算是减去上一个月的天数28天,则31-28=3,所以返回的时间是2015年3月3日。当然这里你可以用date.setDate(oldDay-30)的方法设死减去30天,则返回的时间是2015年3月1日。
总之,关于时间加减,是用setMonth方法进行处理还是用setDate方法进行处理,全凭个人决定。对时间进行处理时需要注意的月份是2月,处理时要注意下,多测试下2月份的时间设置;还有要注意的是有无31号的月份的时间。只要理解了时间计算的原理,运用起来就不是问题啦。
相关阅读
网站SEO优化在搜索引擎上的排名是主要是由网站的权重值来决定的,还有就是客户的用户行为即网站的浏览量,这些东西并不是一朝一夕所
企业做网站必须要面临一个重要的问题,网站多长时间能做好?正常来说一个网站的平均周期都在15到10个工作日的。需求复杂的那就得另
网站文章不收录或长时间不收录怎么办?文章发布不收录影响的因素有很多,首先你应该定位文章不收录的原因,以搜索引擎的蜘蛛视角
2017年天猫年货节有几天?淘宝天猫卖家购买了2017淘宝天猫年货节商品,淘宝天猫年货节发货时间是什么时候?有谁知道淘宝天猫年货节发
一、基本概念 1.二叉排序树 二叉排序树(Binary sort tree,BST),又称为二叉查找树,或者是一棵空树;或者是具有下列性质的二叉树: (1)若