28 de juliol 2006

Manipulació de dates en PHP

Ho volia fer fa força temps, però mai havia trobat temps per docomentar la llibreria en PHP que vaig fer a la feina per manipular facilment les dates. No son grans funcions però estalvien força feina (sobretot la primera).

No es perfecte, algun cop falla (no trobo el problema, si algú m'ajuda li estaré molt agraït) però el 90% dels cops funciona correctament. Pensava penjar-la en alguna web que tingues mes scripts però no he trobat la secció idònia on col·locar-la ( tot el codi que hi havia penjat eren scripts sencer, no funcions soltes com les que he fet jo). Si algun dia acabo d’interminable fase de registre en SourceForge posaré l'enllaç, però de moment us col·loco el codi aquí ;-).


Funció dates($data,$n,$i,$signe)

Torna: La data resultant de sumar o restar l'interval definit

Descripció del paràmetres:
$data=data inicial.
$n= quantitat.

$i= interval, ha de ser tipus String
"d"=dia.
"m"=mes
"y"=any


$signe=signe, ha de ser tipus String
"+"=sumar
"-"=restar


Exemple:
$datai=date ("1/1/2004"). (També podria tenir aquest format "1-1-2004" )
$dataf=dates($datai,4,"y","+").
En aquest exemple guardaria en $dataf-------->01/01/2008



Funció ultim_dia($any,$mes)

Torna: Torna en quin día acaba el mes del any especificat (esbrinar si acaba en 28, 29,30 o 31).

Descripció dels paràmetres:
$any = any de la data en integer
$mes = mes de la data en integer

Exemple:
$dies_mes=ultim_dia (2004, 7);
En aquest exemple guardaria en $dies_mes----->31



Funció contar_dies($data1, $data2)

Torna: El numero de dies que hi ha entre les dues dates.

Descripció de paràmetres:
$data1 = data inicial en format Date.
$data2 = data final en format Date.

Exemple:
$dias=contar_dies (date ("1/1/2004"), date("5/3/2005")).
(Les dates poden tenir aquest format "1-1-2004") .
En aquest exemple guardaria en $dias_mes-------->429

Tant de bo us faci servei ;-).

1 comentari:

reix ha dit...

Estic orgullosa de tu i de la teva llibreria de tractament de dates en php. Espero poder-la utilitzar algun dia!!