Re: PHP - práce s datem (snad naposled...)

From: Ivanek (zlutypes@seznam.cz)
Date: 13. 05. 2003, 22:40 CEST


Tak tady to mas s celou paradou, muzes si z toho udelat treba nejakou
chytrejsi fci. Takhle to proste jenom vypise do vystupu:

'Nejblizsi dalsi pracovni den je zitra, streda 14.05.2003'

nebo v patek treba:

'Nejblizsi dalsi pracovni den je pondeli 19.05.2003'

Delat bitovou mapu pro cely rok kvuli 12ti priblblym svatkum mi nakonec
jaksi nepripadlo prilis relevantni, kdyz to vyresi hash s 12ti polozkami.

V den spusteni si to defaultne bere jako nejblizsi den ZITREK, zjisti,
zda neni volny a pokud je, inkrementuje den tak dlouho az volny neni
a pak ho vyplivne jakozto nejblizsi prac. den. Pocita i s velikonocemi.
Tot vse - treba se ti to bude hodit...
-------------------------
#
$daysec=86400;
#
### svatky
$sv['0101']=1;
$sv[date("md",easter_date()+$daysec)]=1; #velikon. pondeli
$sv['0501']=1;
$sv['0508']=1;
$sv['0705']=1;
$sv['0706']=1;
$sv['0928']=1;
$sv['1028']=1;
$sv['1117']=1;
$sv['1224']=1;
$sv['1225']=1;
$sv['1226']=1;
### lze pridat dalsi volne dny: $sv['mmdd']=1;
#
$dow=array('nedele ','pondeli ','utery ','streda ','ctvrtek ','patek ');
#
$nextw=$tomor=time()+$daysec;
while(strspn(date("w",$nextw),'06') or $sv[date("md",$nextw)]) $nextw+=$daysec;
#
$wdow=$dow[date("w",$nextw)];
$zit=$tomor==$nextw?'zitra, ':'';
echo"Nejblizsi dalsi pracovni den je $zit$wdow";
echo date("d.m.Y",$nextw)."\r\n";
#
-------------------------

Ivanek. 


______________________________________________________________________
Reklama:
Prague International Marathon: 22.3. Hervis - Maraton Praha, 18.5.
Maratonský víkend, 21.9. Mattoni Grand Prix. http://www.pim.cz



This archive was generated by hypermail 2.1.3 : 13. 05. 2003, 22:40 CEST