自学php找工作【二】 PHP计算时间加一天

最近几天在做一个项目,主要是将SQLserver数据到MySQL数据库,一个url跑一次 同步一次昨天的数据,由于很多数据需要同步,所以做了一个操作界面的,一个单纯跑url的

在其中涉及到了对于时间的计算!当我写完这个程序的时候,我回头看我写的计算时间的代码。有些都有点儿懵了!。。。在这里记录下来方便以后回忆,也方便别人使用!

代码可能会臃肿!新人一枚!欢迎指正!拒绝骂街哦!

先简单说一下代码,其中主要涉及到计算润年 平年,计算28天 31天 30天月份 等,主要就是判断!代码中有注释,大家看一下,希望大家多多指正缺点!

  1  /**一年中的31天的月份
  2      * @var array
  3      */
  4     private $month_31 = array(1,3,5,7,8,10,12);
  5
  6     /**一年中30天的月份
  7      * @var array
  8      */
  9     private $month_30 = array(4,6,9,11);
 10
 11     /**查询开始的时间戳
 12      * @var
 13      */
 14     private $startTimeStamp;
 15
 16     /**查询结束的时间戳
 17      * @var
 18      */
 19     private $endTimeStamp;
 20
 21     /-----------------------------------------------计算年月----------------------------------------------------------
 22
 23     /**计算年份是否是闰年,如果是闰年 2月份是29天  平年是28天, 每调用一次这个函数,天数增 加1天
 24      * @return string  时间戳,是经过计算的,前加 ‘00‘  后加‘000‘
 25      */
 26     private function computeTime() {
 27         if (($this->year % 4 == 0 && $this->year % 100 != 0) || ($this->year % 400 == 0)) {
 28             $this->computeTimeDate(29);
 29         } else {
 30             $this->computeTimeDate(28);
 31         }
 32     }
 33
 34     /**根据月份是多少天,计算日期时间,
 35      * @param $Feb  2月的天数
 36      */
 37     private function computeTimeDate($Feb) {
 38
 39         if ($this->month == 2) {
 40
 41             if($this->date >= 1 && $this->date <= $Feb) {
 42
 43                 $this->date = $this->date + $this->syncNumDate;
 44                 //如果加默认天数大于当前月份天数,就计算月份
 45                 if( $this->date + $this->syncNumDate > $Feb ) {
 46                     $this->computeDateMonth();
 47                 }
 48
 49             } else if($this->date > $Feb) {
 50
 51                 $D_value = $this->syncNumDate - ($Feb - $this->date);
 52                 if( $D_value != 0 ) {
 53                     $this->computeDateMonth($D_value);
 54                 } else {
 55                     $this->computeDateMonth();
 56                 }
 57
 58             } else {
 59                 die(‘2月份天数不在正常范围内‘);
 60             }
 61
 62         } else if( in_array($this->month, $this->month_30) ) {
 63
 64             if( $this->date >= 1 && $this->date < 30 ) {
 65
 66                 $this->date = $this->date + $this->syncNumDate;
 67                 if( $this->date + $this->syncNumDate > 30 ) {
 68                     $this->computeDateMonth();
 69                 }
 70
 71             } else if($this->date >= 30){
 72
 73                 $D_value = $this->syncNumDate - (30 - $this->date);
 74                 if( $D_value != 0 ) {
 75                     $this->computeDateMonth($D_value);
 76                 } else {
 77                     $this->computeDateMonth();
 78                 }
 79
 80             } else {
 81                 die(‘30天的月份天数不在正常范围内‘);
 82             }
 83
 84         } else if(in_array($this->month, $this->month_31)) {
 85
 86             if( $this->date >= 1 && $this->date < 31 ) {
 87
 88                 $this->date = $this->date + $this->syncNumDate;
 89                 if( $this->date + $this->syncNumDate > 31 ) {
 90                     $this->computeDateMonth();
 91                 }
 92
 93             } else if( $this->date >= 31 ){
 94
 95                 $D_value = $this->syncNumDate - (31 - $this->date);
 96                 if( $D_value != 0 ) {
 97                     $this->computeDateMonth($D_value);
 98                 } else {
 99                     $this->computeDateMonth();
100                 }
101
102             } else {
103                 die(‘31天的月份天数不在正常范围内‘);
104             }
105
106         } else {
107 //            echo $this->month;
108             die(‘函数computeTimeDate计算年月日发生错误‘);
109         }
110     }
111
112     /**
113      * 计算加减月份,如果超过12 就让年份 +1 月份恢复到1
114      * @param $D_value   差值,由于在计算天数的时候,存在加值过大,造成的重复计算,例如30+6 可能计算两次,差值就是 30+1 剩下的5天,在新的月份添加
115      */
116     private function computeDateMonth($D_value=‘‘) {
117         if($this->month >= 1 && $this->month < 12) {
118             $this->month = $this->month + 1;
119
120             if( $D_value != ‘‘ ) {
121                 $this->date = $D_value;
122             } else {
123                 $this->date = 1;
124             }
125         } else if($this->month == 12) {
126             if( $this->year == date(‘Y‘, time()) ) {
127                return;
128             } else {
129                 $this->year = $this->year + 1;
130                 $this->month = 1;
131
132                 if( $D_value != ‘‘ ) {
133                     $this->date = $D_value;
134                 } else {
135                     $this->date = 1;
136                 }
137 //                $this->computeTime();
138             }
139         } else {
140             die(‘computeDateMonth函数计算错误‘);
141         }
142     }
时间: 2024-08-08 22:31:10

自学php找工作【二】 PHP计算时间加一天的相关文章

推荐给每个找工作的IT毕业生--打鸡血书

本文忘了在哪里下载的了,转过来与各位共享 一. 求职历程总结 2007年1月10日,随着在三方协议上郑重签下自己的名字,我的求职历程终于划上了一个圆满的句号.在这三个月漫长而艰辛的过程中,我付出了很 多,经历了很多,也收获了很多.这一路走来,要感谢的人太多太多,尤其要感谢每一个在找工作过程中关心.帮助过我的人,我会一生铭记你们的恩情.现在,尘 埃落定,到了该回报的时候,我首先要回报的就是我的母校和同学.所以,决定把自己找工作中积累的经验写出来给大家分享,希望能对那些将要找工作或还在找工 作的同学

分享一下身边朋友自学android开发及找工作的那些事!【不足勿喷】

写在前面 前不久身边一个朋友突然告诉我他把原来的工作辞掉了,我问他最近在干嘛,他说他最近两个月学了java及android然后花了1周时间找工作,我问他现在怎么样了.他说比不上我们身边这些10K-20K的现在还在实习期也就4-5K的样子! 一,学习 1.对于很多刚入行的小伙伴来说,比如我那位朋友来说刚开始接触这个行业他说感觉找不到门路,买了一些书籍每天看到那些东西仿佛天马行空天花乱坠一样看不懂,买了几本书也感觉根本看不进去,也不知道从哪里开始.想去找一些培训的地方大家也知道现在无论是网上还是一些

自学it18大数据笔记-第三阶段Spark-day14;Spark-day15(开始试水找工作了)——会持续更新……

写在最前:转行大数据领域,没报班,自学试试,能坚持下来以后就好好做这行,不能就--!准备从现有这套it18掌的视屏残本开始--自学是痛苦的,发博客和大家分享下学习成果--也是监督自己,督促自己坚持学下去. (教学视屏是it18掌做活动送的,视屏不是很全,课堂笔记和源码等课堂相关资料也未放出,但徐培成老师课讲的真心很好,感兴趣的不妨听听,特此感谢it18掌--帮他们打打广告) 笔记为自学时记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,开始试水找工作了,欢迎小伙伴们加qq或微博沟通交流(Q

那年,我们毕业了(纪念找工作的那些日子)

日起日落,过往的一切好像都没有发生似的.只知道,那晚我喝了好多酒,但是没醉:吃了好多菜,但是没饱:说了好多话,但是没哭.就在那种发生而又没有发生的感觉中,我们毕业了,离开了校园,开始了新的生活. 时间倒回2014年的 2月12日,每个人都还沉浸在新年的气氛中时,自己却只身一人提前来到了北京,开始了找工作的旅程.这次旅程,不仅蜕变了自己,也让我明白一个道理:人,都是一样的!(你的想法有时比他人的想法更有价值,相信自己,敢于表达自己.) 与很多毕业生一样,突然从学校走到社会,感觉无从下手,不知道该去

小小程序员找工作的一路经历

小小程序员找工作的一路经历 昨天下午把三方给了TP-LINK之后,为期将近两个月的找工作过程也算是告一个段落.两个月一路走来,压力巨大.人生的下一站到底会在哪里,无法预测.面对事业.家庭.爱情,总想找到一个最好的平衡点.选择Android开发,选择TP-LINK,选择深圳,这一路的选择必然会对未来产生极大的影响,而影响总是具有两面性.未来的路应该怎么走,如何把命运掌握在自己的手里,这值得深思. 感谢家人的支持,感谢女友的相伴,感谢朋友的建议,是你们让我有一种持续战斗的激情:同样感谢腾讯,是你让我

讲讲本人本专业找工作的那些事儿

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 没什么压迫感的日子,起床总是很晚,非常晚,睡得更晚!什么早睡早起的习惯,似乎从来都没有过一样. 说是没有,其实压迫感无处不在! 过完年第一批00后都已经18岁了,初中毕业不读书的都已经出去找工作了.想到这里,不禁想了想,作为一个中年代的90后,我竟然还没有从一个学生角色转换过来,总觉得自己还是个学生,似乎还可以在学校里混好多年一样. 这两天玩了玩QQ,今天无意中和一个小学同学聊起了天,说他已经

程序员找工作的干货经验

一起来学学大师兄的找工作经验吧! 注:文末有福利! 忽然间想到如果要找工作的话,需要注意一些什么问题. 没毕业的,刚刚毕业的,刚刚工作的都可以借鉴一下. 大师兄结合自身经历,经验,稍微总结下.保存下来,以备后来者-------自己或观众使用.想当初刚刚毕业,或者说 ,还没毕业的时候,跟着班里的同学们组队到成都去找工作实习,也就是几天前的事的感觉,但是现在,大家都各奔东西,各自忙自己的,有的现在还在成都工作呢,有的已经离开啦,有的干脆就转行啦,不干这一行啦.想想当初我们一起面试的经历,也挺好笑的.

2018年6月份Android上海找工作经历

前言首先介绍一下我的经历:本人 14 年毕业,在学校里面自学 Android 开发,在 cz 呆了三年,小城市,IT 不发达,倒闭了 2 家公司,然后杭州谋求发展,可参考以前写的一篇求职文章<杭州找Android工作的点点滴滴>,呆了一年,又倒闭了,哎,一言难尽呐!上个月,也就是 6 月份从杭州来到了上海,满打满算找工作到确认去这家公司用了二个星期.从 5 月份离职,中间去成都重庆玩了一个星期,然后在家又呆了二个星期,最后 6 月 11 号才开始找工作,在上海每天安排 2 场面试,有时候面试

程序员找工作面试会遇到哪些坑

前言 我在JD工作已经有四个多月了,加班一直都比较多,不是因为工作量太大,而是因为自己不会的东西太多.电商行业的确是一个很锻炼人的地方. 2018年4月份,我写的那篇文章<裸辞两个月,海投一个月,从Android转战Web前端的求职之路>,引起了很多同学的共鸣,甚至有几位同学留言说他们连续看了好几遍.这就让我诞生了一个想法:集中写一些和"职场"有关的文章. 先简单介绍一下我的个人履历:我于2013年6月毕业于一个很普通的二本学校,2016年6月毕业于电子科技大学(985院校