Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/07/2009, 14:47
Perrin_1
 
Fecha de Ingreso: marzo-2009
Mensajes: 163
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Duda de urgencia

mmm pero como puede ser que localmente si funcione y en el servidor no funcione, si todo esta mas que excelente la funcion de date_diff use el codigo que me dejaron por aqui...es este...

Código PHP:
   <?php
     
    
function datediff($interval$datefrom$dateto$using_timestamps false) {
    
/*
    $interval can be:
    yyyy - Number of full years
    q - Number of full quarters
    m - Number of full months
    y - Difference between day numbers
   (eg 1st Jan 2004 is "1", the first day. 2nd Feb 2003 is "33". The datediff is "-32".)
   d - Number of full days
   w - Number of full weekdays
   ww - Number of full weeks
   h - Number of full hours
   n - Number of full minutes
   s - Number of full seconds (default)
   */
  
   
if (!$using_timestamps) {
   
$datefrom strtotime($datefrom0);
   
$dateto strtotime($dateto0);
   }
   
$difference $dateto $datefrom// Difference in seconds
  
   
switch($interval) {
  
   case 
'yyyy'// Number of full years
    
   
$years_difference floor($difference 31536000);
   if (
mktime(date("H"$datefrom), date("i"$datefrom), date("s"$datefrom), date("n"$datefrom), date("j"$datefrom), date("Y"$datefrom)+$years_difference) > $dateto) {
   
$years_difference--;
   }
   if (
mktime(date("H"$dateto), date("i"$dateto), date("s"$dateto), date("n"$dateto), date("j"$dateto), date("Y"$dateto)-($years_difference+1)) > $datefrom) {
   
$years_difference++;
   }
   
$datediff $years_difference;
   break;
    
   case 
"q"// Number of full quarters
    
   
$quarters_difference floor($difference 8035200);
   while (
mktime(date("H"$datefrom), date("i"$datefrom), date("s"$datefrom), date("n"$datefrom)+($quarters_difference*3), date("j"$dateto), date("Y"$datefrom)) < $dateto) {
   
$months_difference++;
   }
   
$quarters_difference--;
   
$datediff $quarters_difference;
   break;
    
   case 
"m"// Number of full months
    
   
$months_difference floor($difference 2678400);
   while (
mktime(date("H"$datefrom), date("i"$datefrom), date("s"$datefrom), date("n"$datefrom)+($months_difference), date("j"$dateto), date("Y"$datefrom)) < $dateto) {
   
$months_difference++;
   }
   
$months_difference--;
   
$datediff $months_difference;
   break;
    
   case 
'y'// Difference between day numbers
    
   
$datediff date("z"$dateto) - date("z"$datefrom);
   break;
    
   case 
"d"// Number of full days
    
  
$datediff floor($difference 86400);
   break;
    
   case 
"w"// Number of full weekdays
    
   
$days_difference floor($difference 86400);
   
$weeks_difference floor($days_difference 7); // Complete weeks
   
$first_day date("w"$datefrom);
   
$days_remainder floor($days_difference &#37; 7);
   
$odd_days $first_day $days_remainder// Do we have a Saturday or Sunday in the remainder?
   
if ($odd_days 7) { // Sunday
   
$days_remainder--;
   }
   if (
$odd_days 6) { // Saturday
   
$days_remainder--;
   }
   
$datediff = ($weeks_difference 5) + $days_remainder;
   break;
    
   case 
"ww"// Number of full weeks
    
   
$datediff floor($difference 604800);
   break;
    
   case 
"h"// Number of full hours
    
   
$datediff floor($difference 3600);
   break;
    
   case 
"n"// Number of full minutes
    
   
$datediff floor($difference 60);
   break;
    
  default: 
// Number of full seconds (default)
   
  
$datediff $difference;
  break;
  }
 
  return 
$datediff;
   
  }
   
  
?>
<?php