Portál AbcLinuxu, 27. dubna 2024 02:34


Dotaz: Perl - datum předchozího dne

3.2.2005 10:33 mira
Perl - datum předchozího dne
Přečteno: 951×
Odpovědět | Admin
potřebuji vlozit do jmena souboru datum předchozího dne ve formátu měsíc-den ,problém je při přechodu na další měsíc jak odečíst den ,uvádím zde jenom část programu,ostatní chodí v pohodě(asi na to jdu úplně blbě) díky

#!/usr/bin/perl

@mesice = qw(01 02 03 04 05 06 07 08 09 10 11 12);

@dny= qw(00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 );

@cas = localtime(time);

print"$mesice[$cas[4]]-$dny[$cas[3]]"
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Vašek Lorenc avatar 3.2.2005 11:15 Vašek Lorenc | skóre: 27
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
Odpovědět | | Sbalit | Link | Blokovat | Admin
use Date::Calc;

Add_Delta_Days
             ($year,$month,$day) =
             Add_Delta_Days($year,$month,$day,
                            $Dd);

-- asi by Vám to ušetřilo trochu práce za cenu minimální další závislosti. Objevovat kolo není nutné.
...včetně majestátného loosa
3.2.2005 15:31 mira-m
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
díky za odpověd ,tenhle modul nemám nainstalovanej tak nevim jestli mě pomůže s problémem předchozího dne
3.2.2005 21:06 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
Tak ho nainstaluj.
3.2.2005 11:47 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
Odpovědět | | Sbalit | Link | Blokovat | Admin
[ivok@zero ivok]$ perl -MPOSIX -e 'print strftime("%m-%d",localtime(time)),"\n"'
02-03
[ivok@zero ivok]$ perl -MPOSIX -e 'print strftime("%m-%d",localtime(time-24*60*60)),"\n"'
02-02
3.2.2005 20:49 mira
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
Co je to MPOSIX ? Muj SuSE Linux to nějak nechápe a já také ne, typnul bych to na system Macintosh .Vyskouším modul DateCalc. Jinak dík
3.2.2005 21:00 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
perlrun(1), tam je option -M podrobně popsán. Pokud ho tvůj perl nechápe, pošli bugreport, protože -M umí perl odjakživa (tedy alespoň od verze 5, prehistorické už si nepamatuji).
3.2.2005 21:34 Samuel | skóre: 19 | Bratislava
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
nevidim problem s -M, ale da sa aj bez neho
perl -e '@cas = localtime(time-24*60*60); printf("%02d-%02d",$cas[4]+1,$cas[3]);'
4.2.2005 12:38 mira-m
Rozbalit Rozbalit vše Re: Perl - datum předchozího dne
to jsem potřeboval

dík

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.