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 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

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

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

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

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 4
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 16
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

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

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (10%)
     (2%)
     (17%)
    Celkem 699 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.