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í
×
    včera 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 7
    30.4. 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    30.4. 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 3
    30.4. 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 26
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 13
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (0%)
     (0%)
     (100%)
     (0%)
    Celkem 1 hlasů
     Komentářů: 0
    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: 7432×
    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.