• 如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)


    简介:这是如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=327670' scrolling='no'> 如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)
    /*
      豆腐制作  都是精品
      http://www.asp888.net 豆腐技术站
      如转载 请保留完整版权信息
    */
    这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着。
    本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不过当时是用C++实现的。没有想到这样的大公司,竟
    然用这样的小儿科来考试:),后来我没有去,这两天 应 http://www.chinaspx.com 的 网友--》运气,用PHP重新
    写了这个函数。
    这个函数是很简单,就是加上给 指定时间加上一天,得到新生成的日期,如果要扩展,也是很简单的。
    下面首先来看这个函数,首先要提前讲个函数,判断当前是否是闰年的函数
    function CheckRun($year){
      if($year%4==0 && ($year%100!=0 || $year%400==0) )
        return true;
      else
        return false;
    }
    我们要在下面的程序中用到这个函数
    function DateAdd($date){
      $parts = explode(' ', $date);
      $date = $parts[0];
      $time = $parts[1];
      $ymd = explode('-', $date);
      $hms = explode(':', $time);
      $year = $ymd[0];
      $month = $ymd[1];
      $day = $ymd[2];
      $hour = $hms[0];
      $minute = $hms[1];
      $second = $hms[2];
      $day=$day+1 ;   //废话少说,先把日期加一再说
      if($month=='1' || $month=='3' || $month=='5' || $month=='7' || $month=='8' || $month=='10' || $month=='12')
         if($day==32)
            {
              $day='1';
              $month++;
            }
      if($month=='4' || $month=='6' || $month=='9' || $month=='11')
         if($day==31)
            {
              $day='1';
              $month++;
            }
      if($month=='2')
         if(CheckRun($year))
           {
             //闰年 2月有 29 天
             if($day==30)
               {
                 $day=1;
                 $month++;
               }
           }
         else
           {
             //不是闰年
             if($day==29)
               {
                 $day=1;
                 $month++;
               }
           }
      if($month==13)
        {
          $month=1;
          $year++;
        }
      return $year . "-" . $month . "-" . $day;
    }
    好了,下面来测试一下
    echo DateAdd("1999-12-31 11:11:11");
    echo DateAdd("2000-2-29 11:11:11");
    如果要测试增加若干天,只要加个循环就可以了,相信大家都是 高人,这个功能很简单吧:)

    “如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/327670.html pageNo:12
  • 相关阅读:
    P1939 【模板】矩阵加速(数列)
    NUMBER BASE CONVERSION POJ
    Raid POJ
    Genius ACM HihoCoder
    BZOJ1500: [NOI2005]维修数列 Splay维护序列
    BZOJ3245: 最快路线 拆点dijkstra
    存个头
    895E
    894E
    tarjan缩点/求桥模板
  • 原文地址:https://www.cnblogs.com/ooooo/p/2250866.html
Copyright © 2020-2023  润新知