Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 7. 10. 2008, 09:44:01
Zdravím
Chtel bych se zeptat, zda by mi nekdo neporadil jak porovnávat dve data v php, mám jednu promennou s parametry Date a druhou s nastaveným pevným datem pomocí Mktime. Poté pomocí jednoduché podmínky porovnávám ale nefunguje mi to korektne, co bych mel udelat jinak? Príkládám zápis kódu: <?php $datum = date(d.m.Y);//Get actual day, month, Year $datum_exp = mktime (08,12,2008);//Datum of expiration this scrpit, after this date, banner will not be displayed if ( $datum <= $datum_exp) { echo "toto vypisi"; } else { echo"toto nevypisi"; } ?> Díky za každou radu. |
||
nightfish Profil |
#2 · Zasláno: 7. 10. 2008, 09:45:57
1) řetězcové konstanty patří do uvozovek nebo apostrofů
2) čísla začínající 0 se považují za čísla v osmičkové soustavě 3) pokud chceš porovnávat datumy přímo, je výhodnější použít formát yyyy-mm-dd |
||
ninja Profil |
#3 · Zasláno: 7. 10. 2008, 10:44:49
Porovnavat datumy musis ve stejnem formatu. Nemuzes preci porovnavat "7.10.2008" proti "12345467".
V kodu stai upravit prvni radek: $datum = time (); |
||
gardener Profil |
#4 · Zasláno: 7. 10. 2008, 12:48:49 · Upravil/a: gardener
Měl jsem za to, že time, zde nelze použít, jelikož vrací hodnotu poštu sekund od r. 1970.
Takže po úravě by to vypadalo takto?Nebo je to špatný postup? $datum = time (Y-d-m);//Get actual day, month, Year $datum_exp = mktime ("2008-08-12");//Datum of expiration this scrpit, after this date, banner will not be displayed |
||
ninja Profil |
#5 · Zasláno: 7. 10. 2008, 12:55:47
gardener: proc cpes do funkce time Y-d-m?! Napis to jak jsem ukazal a bude to fungovat. A doporucuji se podivat na obe funkce time i mktime, mas evidentne dost bordel v zakladech. UNIX TIMESTAMP vraci obe funkce.
|
||
Michal666 Profil |
#6 · Zasláno: 7. 10. 2008, 13:19:02
Porovnavej timestampy a nemas problem.
|
||
gardener Profil |
#7 · Zasláno: 7. 10. 2008, 13:41:48
Jelikož Fce time mi není známa a v mauálu je napsáno:Vrací aktuální časové razítko, počet sekund od půlnoci 1970.
A tak mi to příjde nelogické na porovnávání, podívám se tedy pořádně na ty fce abych to lépe pochopil. Díky ale za nasměrování.. |
||
Michal666 Profil |
#8 · Zasláno: 7. 10. 2008, 14:44:38
gardener
Pouzivej anglicky manual :-) Fce time vraci pocet sekund od roku 1970, tvz timestamp. |
||
ninja Profil |
#9 · Zasláno: 7. 10. 2008, 15:42:40
gardener: a co pisou u mktime?
This timestamp is a long integer containing the number of seconds between the Unix Epoch (January 1 1970 00:00:00 GMT) and the time specified. |
||
Časová prodleva: 16 let
|
0