abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    dnes 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 7
    dnes 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    včera 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 29
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 540 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Jak spocitat rozdil uplneho datumu v PHP

    22.8.2006 19:30 Petr
    Jak spocitat rozdil uplneho datumu v PHP
    Přečteno: 7431×
    Cau, resim problem a nevim jak na nej, normalne bych to resil primo v MYSQL. V tabulce jsou obsazeny pole datetime.

    format rok-mesic-den hodina-minuta-sekunda

    A ja potrebuju s timhle datumem pocitat.

    napr. 2006-10-10 10:10:10 - 2006-09-10 10:00:00

    Da se to nejak jednoduse v php?

    Odpovědi

    22.8.2006 20:23 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Php nepoužívám, ale určitě má funkci, která převede datum do nějakého zpracovatelného formátu (např. unixový čas), kde provedeš odečtení a výsledek potom zpětně převedeš na čas. Prostuduj dokumentaci
    When your hammer is C++, everything begins to look like a thumb.
    24.8.2006 00:03 bradu
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Programujem v PHP od nejakej 3kovej verzie a mysql som tiez pouzival nejaky ten rok.

    Ale vobec nechpem preco pouzivaju ludia fomat v danom formate. Len si tym clovek komplikuje zivot. Pouzivam unix time je to prakticke dobre sa s tym pocita a naformatujes si to uplne krasne do coho len chces cez najroznejsie funkcie v php.

    S cislom sa operuje ovela jednoduksie
    24.8.2006 04:33 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Programuji v PHP od trojkové verze a MySQL také používám nějaký ten rok. Typy datetime a date používám naprosto bez problémů. Není to spíš o tom, jak dobře znáte možnosti MySQL? Naprostou většinu rozumných formátů data si mohu vytvořit pomocí funkce DATE_FORMAT přímo v SQL dotazu.

    Mimochodem, jak uložíte do timestamp data narození lidí starších než UNIX?
    24.8.2006 18:10 bradu
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Dost casto sa mi stava ze ludia nie velmi chapu preco nieco hovorim a ako to myslim, preto to trosku rozvediem.

    Ked si precitate lepsie otazku cloveka, ktory sa na nieco pytal zistite , ze on vie ako sa robi nieco v MySQL, ale potrebuje to robit v PHP, (cize MySQL ovlada minimalne ako vy , ja a mnoho dalsich)

    ..ale ak nepozna vsetky moznosti PHP (co je velmi pravdepodobne) je teda mozne, ze zacne dane retazce parsovat a nasledne lepit a potom konvertovat cez strtime, alebo date alebo pod. Co ako asi sam uznate nebude najefektivnejsia a najednoduksia cesta.

    Pretoze ako pise potrebuje to robit v PHP.

    Urcite mozete namietnut ze aj to moze spravit za neho DB, iste ano moze, ale on nepise ze to potrebuje robit v nejakej interaktivite z DB, nehladiac na to ze pri nejakom suvislom bloku ktory nema nic na praci s DB skakat do DB len koly prevodu casu...

    A teda to nehovorim preto, ze by som nepoznal rozne casove formaty a ich moznosti, alebo chcel niekoho "prudit".

    Ja tu nenapadam ludi ktori viedia preco pouzivaju format casu tak ako ho pouzivaju a nechcem tu rozputavat FLAME, teda ani Vas lebo evidentne viete preco sa veci robia a ako sa robia (ak sa vas to nejakym sposobom dotklo alebo niekoho ineho ospravedlnujem sa), ale casto vidim, ze to robia ludia ktori netusia preco a naco. Bez toho aby vyuzivali vyhody ktore z toho plynu a robia to len preto lebo to tak niekde videli.

    A uznavam ze ani neponukam uplny navod, ako to presne robit pretoze vecer po nejakych 14 hodinach prace, ked som reagoval som uz nebol zrovna FIT.

    Skor som len ukazal smer..

    >>> Najlepsie sa pocita s celymi cislami, aspon mne to pripada jednoduksie.

    Ked clovek pouziva date(), alebo time alebo pod. zisti nasledovnu vec aj ked si neprecita manual, kde pisu rok 1970 atd atd atd. je minimum co sa da riesit atd.

    1990 1980 1970 atd atd atd = 0 sekund 1960 1950

    V byvalej praci som bol donuteny pouzit unix time aj na nevhodnom mieste a zapisat aj rocniky ako 1959, nepytajte sa preco, proste musel som to takto pouzit pretoze som nieco implementoval do niecoho co uz fungovalo dlho a nerobil som to ja, spolupracovalo to z dalsimi jazykmi atd atd.

    Hovorim sefovy takto sa to spravit neda...

    Ale ked som studoval nejake fora zistil som ze sa to da poriesit.

    kedze som musel developovat aj na winXX aj linuxoch a pre linux

    samozrejme som prisiel aj k takejto hlaske

    Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 ....

    co sa zda byt beznym warning-om

    ... mozno je tam ale jedno v Linuxovej komunite obzvlast "Oblubene" slovo navyse, ktore vas deli oduplnej pravdy..

    Riesenie vyplyva z kontextu

    Samozrejme odcitanie scitanie atd sa da robit roznym sposobom kazdy ma svoje metody, ktore pouziva v zavisloti na implementacii a konkretnych moznostiach a casu v ktorom moze nieco intuitvne a dostatocne efektivne (lacno a pokial mozno co najlepsie) naprogramovat
    24.8.2006 21:10 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    MySQL neumožňuje uložit záporný timestamp; neboli do sloupce typu timestamp nelze uložit data před unixovou epochou.

    Používání záporného 32b timestamp bych nedoporučoval, protože snadno může dojít k přetečení, pokud se počítá rozdíl dvou timestamps.

    Díky za příspěvek, doposud mě nenapadlo používat time_t plně jako signed. Možná právě kvůli nezaručené funkčnosti záporných hodnot.
    Dalibor Smolík avatar 24.8.2006 00:53 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    já jsem tohle řešil právě v MySQL, použil jsem funkci unix_timestamp, např. rozdíl mezi současným datem a datem zadaným něco jako select (unix_timestamp(curdate())-unix_timestamp(datum))/86400 rozdil from tabulka
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    24.8.2006 04:20 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    IMO elegatněji: SELECT DATEDIFF(CURDATE(), datum) AS `interval` FROM tabulka
    24.8.2006 09:37 Richard Gavenda | skóre: 19 | Třinec
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Tahle funkce ale varcí pouze dny. Protože mě tento problém zaujal, začal jsem v tom směru pátrat, a nepřisel jsem na žádný kloudný způsob. jak přímo v MySQL odečíst dva sloupce DATETIME, abych dostal zase DATETIME, tedy zjistit rozdílem, kolik uběhlo mezi dvěma časy roků-měsíců-dnů hodin:minut:sekund. Nejdál jsem se dostal s výrazem SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2006-10-10 10:10:10') - UNIX_TIMESTAMP('2006-09-10 10:00:00')) ale to znemožní odčítat data starší než 1970.
    24.8.2006 12:07 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Váš postup je chybně. Pominu-li, že získáte rok zvětšený o 1970, měsíc o 1 a den o 1, tak s délkou měsíce zacházíte velice svérázným způsobem. Například prvního března minus posledního ledna, je podle mě měsíc a den, nikoliv 29 dní.

    Pokud chcete od sebe odečíst roky, měsíce a dny, nic vám nebrání v tom to učinit, jen si musíte ohlídat podtečení. MySQL na to zatím žádnou funkci nemá.
    8.1.2015 16:24 kubik256
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Kdyby někdo ještě hledal jako já, tak tohle řeší MySQL funkce TIMESTAMPDIF (http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampdiff)
    24.8.2006 10:31 V3lbl^^d
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Staci trosku zabrouzdat v manualu ;-)

    http://cz2.php.net/manual/cs/function.strtotime.php

    http://cz2.php.net/manual/cs/function.date.php

    takze, pisu to z hlavy a nemam to odzkouseno, ale:

    date("Y-m-d H:i:s", strtotime($date1)-strtotime($date2));
    AraxoN avatar 24.8.2006 20:30 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP

    Obávam sa, že výsledkom toho date() bude v tomto prípade zbytočne mätúci údaj vyzerajúci nejak takto: 1970-01-?? ??:??:??. Tie strtotime() sú OK, sám ich už dlho používam na konverziu z ISO-tvaru na timestamp. Aj ten rozdiel je OK - vráti rozdiel oboch údajov v sekundách. Ale to spätné naformátovanie na dátum je nezmyslom, pretože timestamp nemá začiatok v roku 0. Ak treba zo sekúnd vyrátať minúty, hodiny, dni, tak pomôže len delenie.

    $sek=strtotime($date1)-strtotime($date2);
    
    $min=floor($sek/60);
    $sek=$sek%60;
    
    $hod=floor($min/60);
    $min=$min%60;
    
    $dni=foor($hod/24);
    $hod=$hod%60;
    
    echo "Rozdiel je $dni dni, $hod hodin, $min minut a $sek sekund.\n";
    AraxoN avatar 24.8.2006 20:32 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak spocitat rozdil uplneho datumu v PHP
    Oops, samozrejme že má byť:
    $hod=$hod%24; // nie %60

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.