Autor Zpráva
BoboCop
Profil
Chtěl bych udělat kalendář, kterým se bude dát listovat po měsících, ale takový, který by neskončil v roce 2068 (na Windowsech už v roce 2038), ale kterým by se dalo listovat alespoň do roku 9999. S použitím funkce mktime to nejde, protože ta je omezena výše uvedenými roky.

Nevíte někdo o nějakém kódu na kalendář, který by toto omezení neměl?
WertriK
Profil *
Scriopt ti psát nebudu protože nevím jak to chceš, ale poradil bych ti aby jsi to udělal pomoc cyklu
a do toho cyklu vlozil prikaz na zjisteni spravnosti datumu.
$mesic = "1"; // cislo mesice
$rok = "2005" // rok

for($i=1;$i <= 32; $i++) {

if (checkdate($mesic, $i, $rok) == TRUE) {
echo "datum je spravny"; // pokud to budes delat tabulkou tak si sem das treba
echo "<td bgcolor=\"red\"></td>";
}
else {
echo "datum je spatny"; // pokud to budes delat tabulkou tak si sem das treba
echo "<td></td>";
}

}
Leo
Profil
Kalendar do roku 9999 je pitomost. V te dobe jenom sotva bude existovat stavajici kalendarni system. Leo
BoboCop
Profil
To Leo:
Ano, z tohoto pohledu to samozřejmě pitomost je, ale kalendář omezený jen do roku 2038, respektive do roku 2068 se ti jako pitomost nezdá? Myslím si, že za 30 let tady ještě budu a možná i dýl (když to dobře půjde) a nevěřím tomu, že by se do té doby změnil systém kalendáře.

To WertriK:
Díky za radu, ale tohle není přesně to, co bych potřeboval.

Zkusím to trošku víc rozvést. Chci zobrazit kalendář s možností listování po měsících dopředu nebo dozadu a to tak, abych nebyl omezen funkcí mktime, která bude pracovat jen do výše uvedených let. Kalendář chci zobrazovat v tabulce tak, aby ke každému dni byl přiřazen i jeho den v týdnu (pondělí, úterý, atd.). Mohl bych si sice s funkcí mktime vystačit a nestarat se o to, že to za 60 let (případně už za 30) přestane fungovat, ale takové programování mě neuspokojuje. Proto jsem položil tento dotaz. Zřejmě však asi nebude mít řešení.
BoboCop
Profil
Tak jsem právě zjistil, že to pravděpodobně nepůjde řešit, protože základním kamenem úrazu je to, že bez funkce date (která má stejná omezení jako funkce mktime) se nelze obejít.

Alespoň neznám jiný způsob, jak zjistit aktuální datum v počítači, než za použití funkce date:

$dnes = date("Y-m-d"); // nebo tak nějak

Znáte někdo nějaký jiný způsob, který by však nepoužíval zmíněné dvě funkce? Pokud by takový způsob existoval, pak už bych asi byl schopen svůj problém řešit.
flying gentleman
Profil
Leo:mohl bys mi nějak konkrétněji popsat, jak se podle tebe změní kalendářní systém?Docela by mě to zajímalo.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0