日期:2013-05-05  浏览次数:20722 次

<?
//日期特殊操作控制类
//宇凡 8月15日
?>
<?
 //获取"YYYY-mm-dd"格式的当前时间
 function NowDate()
 {
  $result = date("Y")."-".date("m")."-".date("d");
  return $result;
 }

 //获取"YYYY-mm-dd HH:ii:ss"格式的当前时间
 function NowDateTime()
 {
  $result = date("Y")."-".date("m")."-".date("d")." ".date("H").":".date("i").":".date("s");
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取年
 function GetYear($Date)
 {
  $pos = strpos($Date,"-");
  $result = "";
  for ($i=0;$i<$pos;$i++)
  {
   $result = $result.$Date[$i];
  }
  $month = GetMonth($Date);
  $day = GetDay($Date);
  if (!checkdate($month,$day,$result))
  {
   $result = false;
  }
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取月
 function GetMonth($Date)
 {
  $pos1 = strpos($Date,"-");
  $pos2 = strrpos($Date,"-");
  $result = "";
  for ($i=$pos1+1;$i<$pos2;$i++)
  {
   $result = $result.$Date[$i];
  }
  $year = GetYear($Date);
  $day = GetDay($Date);
  if (!checkdate($result,$day,$year))
  {
   $result = false;
  }
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取日
 function GetDay($Date)
 {
  $pos = strrpos($Date,"-");
  $result = "";
  for ($i=$pos+1;$i<10;$i++)
  {
   $result = $result.$Date[$i];
  }
  $year = GetYear($Date);
  $month = GetDay($Date);
  if (!checkdate($month,$result,$year))
  {
   $result = false;
  }
  return $result;
  return $result;
 }

 //检查闰年,返回布尔值
 function CheckLeap($year)
 {
  $result = (($year % 4 == 0) && (($year % 100 <> 0) || ($year % 400 == 0)));
  return $result;
 }
 
 //在当前日期上加天数 返回"YYYY-mm-dd"格式的时间
 function AddDay($offset)
 {
  $year=date("Y");
  $month=date("m");
  $day=date("d");
  for ($i=0;$i<$offset;$i++)
  {
   switch ($month) {
   case 1:
   {
    if ($day==31) {
     $day = 1;
     $month = 2;
    }
    else {
     $day=$day + 1;
    }
   }
   break;
   case 2:
   {
    if (CheckLeap($year)) {
     if ($day == 29) {
     $day = 1;
     $month = 3;
     }
     else {
     $day=$day + 1;
     }
    }
    else {
     if ($day == 28) {
     $day = 1;
     $month = 3;
     }
     else {
     $day=$day + 1;
     }
    }   
   }
   break;
   case 3:
   {
    if ($day==31) {
     $day = 1;
     $month = 4;
    }
    else {
     $day=$day + 1;
    }
&nbs