Portál AbcLinuxu, 17. července 2025 17:56


Dotaz: vypocet datumu v PHP

25.6.2009 20:25 amico | skóre: 24
vypocet datumu v PHP
Přečteno: 529×
Odpovědět | Admin

Zdravim

tuna ste mi poradili ako vyriesit problem v calc. Dokaze to spravit PHP?.
Zmeny sa striedaju dokola zmena A,B,C,D. Dna 1.1.2009 nastupuje zmena A aka zmena vyjde napr. na 25.6.2009?
V calc funguje pocet dni od 1.1.2009 do 25.6.2009 => vydeli 4 a zvysok po celociselnom deleni urci index pola A,B,C,D.
V php nedokazem spocitat rozdiel medzi dvoma datumami...

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Toman avatar 25.6.2009 21:08 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: vypocet datumu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Videl bych ten rozdil nejak takto (inspirace jak to resit):
  function time_diff_hours($begin, $end) {
    return (strtotime($end) - strtotime($begin)) / 3600;
  }
To by vas mohlo namotivovat, jak vypocat rozdil mezi dvema datumy ;-) Abych to za Vas neresil cele...
Have you tried turning it off and on again? | tomaskavalek.cz | Google
Toman avatar 25.6.2009 21:19 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
Rozbalit Rozbalit vše Re: vypocet datumu v PHP
Prostě použijte již hotovou funkci, která udělá přesně co potřebujete. Naleznete ji na adrese http://www.gidnetwork.com/b-16.html.
25.6.2009 21:12 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: vypocet datumu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin

Fce strtotime(); převede textový datum na timestamp což jsou sekundy a jeden den má 86400 sekund.
Takže:
$pocetDni = intVal(round((strtotime('2009-01-01') - strtotime('2009-06-25')) / 86400));
Platí v rozmezí roků 1900 - 2038
No a operátor % je zbytek po dělení, takže:
$pocetDni %= 4;
Dá index 0 - 3.

PS: strtotime umí zajímavé věci s datumem, pokud zklame vrací false.
Pro udržení kompaktibility a ipro staší PHPka je dobrá cesta zadávat datum v universálním formátu YYYY-MM-DD

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
25.6.2009 21:15 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: vypocet datumu v PHP

intVal a round je vlastně zbytečné bo toto dělení probíhá celočíselně…

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.