abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 5
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

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

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jak spocitat rozdil uplneho datumu v PHP

22.8.2006 19:30 Petr
Jak spocitat rozdil uplneho datumu v PHP
Přečteno: 6445×
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: 45 | 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";
A fine is a tax for doing wrong. A tax is a fine for doing well.
AraxoN avatar 24.8.2006 20:32 AraxoN | skóre: 45 | 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
A fine is a tax for doing wrong. A tax is a fine for doing well.

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.