Autor Zpráva
gardener
Profil
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
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
Porovnavat datumy musis ve stejnem formatu. Nemuzes preci porovnavat "7.10.2008" proti "12345467".

V kodu stai upravit prvni radek:
$datum = time ();
gardener
Profil
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
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
Porovnavej timestampy a nemas problem.
gardener
Profil
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
gardener
Pouzivej anglicky manual :-)
Fce time vraci pocet sekund od roku 1970, tvz timestamp.
ninja
Profil
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: