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ářů: 2
    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ářů: 8
    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ářů: 18
    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%)
     (9%)
     (2%)
     (17%)
    Celkem 706 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: porovnání datumů

    28.5.2007 10:49 yorik
    porovnání datumů
    Přečteno: 543×
    Ahoj, potřeboval bych scriptík, který dostane 2 časy a datum a pakliže ten druhý čas je menší než první, tak vrátí datum +1d. Awk bohužel s datumy a časy zacházet neumí, tak jsem se pokusil podle nápověd a diskuzí něco stvořit v perlu (který neumím), ale nedaří se mi ani zadat datum.

    perl -e '@cas = localtime(?);‘

    Prosím o radu, alespoň co místo otazníku( „YYYY-MM-DD“ - nefunguje). Případně i další rady uvítám. Předem velice děkuji. Jirka

    Odpovědi

    28.5.2007 10:56 stak | skóre: 4
    Rozbalit Rozbalit vše Re: porovnání datumů
    To datum bude vždycky stejné, nebo se bude lišit?

    DN
    28.5.2007 11:05 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: porovnání datumů
    elegantnejšie riešenie (v perl-i):
    use Class::Date;
    
    my $time1 = Class::Date::date ('2007-05-28 00:00:00');
    my $time2 = Class::Date::date ('2007-05-28 24:00:00');
    
    $time1 += '1D'
      if $time1 < $time2;
    
    # my $now = Class::Date::now;
    # my $now2 = Class::Date::date (time);
    # my $now3 = Class::Date::date (`date +%s`);
    
    pre viac info by to chcelo viac popisu problému.
    28.5.2007 11:09 stak | skóre: 4
    Rozbalit Rozbalit vše Re: porovnání datumů
    Je asi hodně způsobů, já bych to řešil takto.

    use strict; use warnings; use Date::Simple; use Time::Simple;

    my ( $cas1, $cas2, $datum ) = ( $ARGV[0], $ARGV[1], $ARGV[2] );

    my $ocas1 = Time::Simple->new($cas1);

    if ( $ocas1 < $cas2 ) { my $odatum = Date::Simple->new($datum); $odatum = $odatum->next; print "$odatum\n"; }
    28.5.2007 12:16 yorik
    Rozbalit Rozbalit vše Re: porovnání datumů
    Napsal jsem ty scripty do souboru a spouštím to jako „perl názevsouboru“, ale bohužel to nechodí. Hlásí to:

    1 script:

    syntax error in file pokus.perl at line 1, next 2 tokens "use Class" Execution of pokus.perl aborted due to compilation errors.

    2 script:

    syntax error in file pokus1.perl at line 1, next 2 tokens "use strict" syntax error in file pokus1.perl at line 7, next 2 tokens "my $odatum " syntax error in file pokus1.perl at line 7, next 2 tokens "->" Execution of pokus1.perl aborted due to compilation errors.

    Prosím o radu, co dělám špatně. Předem velice děkuji.

    Podrobnější popis problému: V jedné databázi jsou uloženy časy a jedno datum ( např. datum, čas1, čas2) a já je potřebuji přenést do jiné databáze, kde je ale uloženo datum1, čas1, datum2, čas2. Z té první databáze tedy selectem zjistím hodnoty a pomocí awk vytvářím sql dotaz, který zazálohuje původní řádky a udělá update na nové hodnoty. Ale protože nemám v první databázi datum2, potřebuji ho zjistit - proto to porovnání časů. Tak jsem chtěl z AWK zavolat script, který mi ho na základě časů „dopočítá“ (příčte 1D, jestliže čas1 > čas2).
    28.5.2007 12:27 stak | skóre: 4
    Rozbalit Rozbalit vše Re: porovnání datumů
    Problém bude asi v tom:

    Pokuď pouštím skript v Linuxu je nutno jako první řádek definovat interpret, který mi zpracuje daný skript.

    #!/usr/bin/perl -w

    Popřípadě změnit cestu.

    Dále bude potřeba stáhnout a doinstalovat moduly z http://www.cpan.org

    http://search.cpan.org/CPAN/authors/id/Y/YV/YVES/Date-Simple-3.02.tar.gz http://search.cpan.org/CPAN/authors/id/L/LG/LGODDARD/Time-Simple-0.052.tar.gz

    Mělo by stačit stáhnout, rozbalit, přesunout se do daného adresáře a napsat:

    perl makefile.pl make make install

    Nakonec spustit skript s argumenty:

    test.pl "08:00:00" "09:00:00" "2007-05-25"

    Mělo by to fungovat.

    Obdobné řešení bude i u první varianty, akorát se stáhne jiný modul.

    DN
    28.5.2007 13:34 yorik
    Rozbalit Rozbalit vše Re: porovnání datumů
    Jo, dík, už to hází jinou a logičtější hlášku. Nemůže najít Simple.pm - problém je, že na tenhle server se nic nainstalovat nedá - je klíčový a dokud funguje, tak ho nikdo "dráždit" nebude.
    28.5.2007 14:35 stak | skóre: 4
    Rozbalit Rozbalit vše Re: porovnání datumů
    No instalovat by se ani nic nemuselo, stačí se podívat, kde to hledá ten modul a pak tam uložit jenom soubor simple.pm.

    DN
    28.5.2007 15:05 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: porovnání datumů
    export PERL5LIB=/home/user/lib/perl5/
    
    28.5.2007 13:18 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: porovnání datumů
    hmm, tie chyby sa mi nezdajú, nepozná "use strict" ???

    k problému: aritmetiku nechať na databázu: (hint)

    select datum, cas1, cas2, datum+1D, datum || cas1, datum || cas2;
    
    posledné dva stĺpce by mali generovať dátum a čas ako jeden reťazec, reťazcovo provnávateľný (iso formát). A potom v podmienke vybrať buď datum alebo datum+1D
    28.5.2007 13:31 yorik
    Rozbalit Rozbalit vše Re: porovnání datumů
    Jo, taky mě už napadlo nechat si to datum vypsat selectem, ale přece jenom vypočítat se mi ho zdálo lepší ... a taky jsem se mohl něco přiučit. Ale i tohle je varianta a možná na ní bohužel i dojde.
    28.5.2007 14:18 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: porovnání datumů
    aritmetika času je trochu náročnejšia :-)
    iný variant je prekonvertovať čas na epoch, potom +1D je +86400 :-)
    28.5.2007 13:04 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: porovnání datumů
    Jsem řešil něco podobného při vytváření souboru aby když konec hodin bude menší tj zasahuje do druhého dne se přičetl den aby konec seděl.

    Viz:
    fprintf(fw,"BEGIN:VCALENDAR\r\n");
    fprintf(fw,"VERSION:2.0\r\n");
    fprintf(fw, "BEGIN:VEVENT\r\n");
    fprintf(fw, "SUMMARY:%s\r\n", linka);
    //fprintf(fw, "DESCRIPTION:%s\r\n", linka);
    fprintf(fw, "CATEGORIES:Prace\r\n");
    fprintf(fw, "DTSTART:%04d%02d%02dT%02d%02d00\r\n", rok, mesic, den, zacatek_hodiny, zacatek_minuty);
    if( zacatek_hodiny < konec_hodiny) fprintf(fw, "DTEND:%04d%02d%02dT%02d%02d00\r\n", rok, mesic, den, konec_hodiny, konec_minuty);
    else fprintf(fw, "DTEND:%04d%02d%02dT%02d%02d00\r\n", rok, mesic, den+1, konec_hodiny, konec_minuty);
    fprintf(fw, "AALARM:%04d%02d%02dT%02d%02d00\r\n", rok, mesic, den, zacatek_hodiny-1, zacatek_minuty);
    fprintf(fw, "END:VEVENT\r\n");
    fprintf(fw,"END:VCALENDAR\r\n");
    
    28.5.2007 13:14 yorik
    Rozbalit Rozbalit vše Re: porovnání datumů
    Nezkoušel jsem to, ale mám dotaz, co to udělá např. 31.12. když přičteš den? „Přechroustá“ si to přechody měsíců samo? Dík Jirka
    28.5.2007 13:35 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: porovnání datumů
    Ha to mě nenapadlo grrrr to je vyjímečná situace.

    U těch mých dat je pouze jedna položka co přechází přes půlnoc a ještě se opakuje jednou za 48 dní takže to mě uteklo.

    Už to půjdu opravit. Díky za nakopnutí.

    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.