开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

php日期时间计算,转载

简介:
+关注继续查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//php获取今天日期
date("Y-m-d");    
//php获取昨天日期    
date("Y-m-d",strtotime("-1 day"))    
//php获取明天日期    
date("Y-m-d",strtotime("+1 day"))    
//php获取一周后日期    
date("Y-m-d",strtotime("+1 week"))    
//php获取一周零两天四小时两秒后时间    
date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds"))    
//php获取下个星期四日期    
date("Y-m-d",strtotime("next Thursday"))    
//php获取上个周一日期    
date("Y-m-d",strtotime("last Monday"))    
//php获取一个月前日期    
date("Y-m-d",strtotime("last month"))    
//php获取一个月后日期    
date("Y-m-d",strtotime("+1 month"))    
//php获取十年后日期    
date("Y-m-d",strtotime("+10 year"))    
//php获取今天起止时间戳    
mktime(0,0,0,date('m'),date('d'),date('Y'));    
mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;    
//php获取昨天起止时间戳    
mktime(0,0,0,date('m'),date('d')-1,date('Y'));    
mktime(0,0,0,date('m'),date('d'),date('Y'))-1;    
//php获取上周起止时间戳    
mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));    
mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));    
//php获取本月起止时间戳    
mktime(0,0,0,date('m'),1,date('Y'));    
mktime(23,59,59,date('m'),date('t'),date('Y'));
 
计算起止日期(列出起止日期区间所有日期)
$data=$this->date_range(date('Y-m-d',$time2),date('Y-m-d',$time1));
//起止日期计算
    function date_range($first$last$step '+1 day'$format 'Y-m-d')
    {
        $dates   array();
        $current strtotime($first);
        $last    strtotime($last);
 
        while ($current <= $last) {
            $dates[] = date($format$current);
            $current strtotime($step$current);
        }
        return $dates;
    }
     
  /**
   * 计算上一个月的今天,如果上个月没有今天,则返回上一个月的最后一天
   * @param type $time
   * @parma key 传入加减的月份数字
   * @return type
   */
   function last_month_today($time,$key=''){
      $last_month_time mktime(date("G"$time), date("i"$time),
          date("s"$time), date("n"$time), 0, date("Y"$time));
      $last_month_t =  date("t"$last_month_time);
 
      if ($last_month_t date("j"$time)) {
          return date("Y-m-t H:i:s"$last_month_time);
      }
if(isset($key)&&!empty($key)){
    return date(date("Y-m",strtotime("-".$key"month")) . "-d"$time);
}else{
    return date(date("Y-m"$last_month_time) . "-d"$time);
}
 
  }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP连接MySQL 8.0报错的解决办法
PHP连接MySQL 8.0报错的解决办法
194 0
centos下 Apache、php、mysql默认安装路径
apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php: 如果采用RPM包安装,安装路
3028 0
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载