Google
Web dns.bdat.net

RE: [PHP-ES] Calcular fecha anterior.

Write haof XML files: emailtomyaddress-phpnews@yahoo.com
Fecha: mié 30 mar 2005 - 17:54:38 CEST


Aqui les envio una funcion que estoy utilizando y me
es muy util. Espero que les sirva.

<?php

$date = '3/25/2005 23:15:22';
$qty=14;
$param='d';
$dateFormat='l dS of F Y h:i:s A';
echo dateAdd($date,0) . '<BR>';
echo dateAdd($date,$qty,$param,$dateFormat);

function
dateAdd($date,$qty,$param='d',$dateFormat='Y-m-d
H:i:s'){
/*
* Parameters:
* $date = base date
* $qty = quantity to be added or substracted
* $param = values: d -> days (default)
* m -> months
* y -> years
* h -> hours
* n -> minutes
* s -> seconds
* $dateFormat= Date format from php function date
(i.e. "l dS of F Y h:i:s A")
* See
http://www.php.net/manual/en/function.date.php
* default: yyyy-mm-dd hh:nn:ss
* Return:
* Date +/- $qty of $param in $dateFormat format.
* false if $date is not valid
*/

// Date validation
  if (is_string($date)){
   $date=strtotime($date);
   if($date === -1) {
     return(false);//"Invalid date");
   }
  }

  $seconds = date("s",$date);
  $minutes = date("i",$date);
  $hour = date("G",$date);
  $day = date("j",$date);
  $month = date("n",$date);
  $year = date("Y",$date);

  //looks for $param to know what to do
  switch (strtolower($param)) {
  //here $date is in seconds
     case 's':// seconds
         $result = mktime($hour,$minutes,$seconds +
$qty,$month, $day,$year);
         break;
     case 'n':// minutes
         $result = mktime($hour,$minutes +
$qty,$seconds,$month, $day,$year);
         break;
     case 'h':// hours
         $result = mktime($hour +
$qty,$minutes,$seconds,$month, $day,$year);
         break;
     case 'd':// day
         $result =
mktime($hour,$minutes,$seconds,$month, $day +
$qty,$year);
         break;
     case 'm':// month
         $result =
mktime($hour,$minutes,$seconds,$month + $qty, $day
,$year);
         break;
     case 'y':// year
         $result =
mktime($hour,$minutes,$seconds,$month, $day ,$year +
$qty);
         break;

    default: //= case 'd':// day
         $result =
mktime($hour,$minutes,$seconds,$month, $day +
$qty,$year);
         break;

  }
  return(date($dateFormat,$result));
}

?>

--- Grenville Tryon Pera < gtryonp@hotmail.com> wrote:
> // mktime(hora, minuto, segundo, mes,dia,ano)
> $mesanterior= mktime(0, 0, 0, date("m")-1,
> date("d"), date("Y"));
> $formato=date("d/m/Y",$mesanterior);
>
> Suerte!
>
> Grenville Tryon
>
>
> >From: "Jose Ribeiro" < joseconde@mail.telepac.pt>
> >To: < php-es@lists.php.net>
> >Subject: [PHP-ES] Calcular fecha anterior.
> >Date: Fri, 25 Mar 2005 22:53:55 -0000
> >
> >Ola a todos.
> >
> >Tengo un problema que no consigo solucionar.....
> >Alguien sabe como puedo calcular una fecha anterior
> en x meses ó X dias??
> >Ó sea queria saber como puedo hacer para que php me
> muestre una fecha de 4
> >meses atras ó 120 dias desde el dia de hoy??
> >
> >Saludos a todos
> >Jose
>
>
_________________________________________________________________
> Visita MSN Latino Noticias: Todo lo que pasa en el
> mundo y en tu paín, ¡en
> tu idioma! http://latino.msn.com/noticias/
>
> --
> PHP Spanish Localization Talk Mailing List
> (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

        

        
                
___________________________________________________________
250MB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:24:09 CET