[ urke @ 07.01.2003. 17:33 ] @
| Elem, imam u promenljivoj $moj_datum string koji predstavlja datum u formatu dd-mm-yyyy:
$moj_datum = "15-10-1997";
Kako da u promenljivu $naziv_dana spakujem naziv dana u nedelji za dati datum?
Citao sam neka uputstva, pokusavao nesto sa gmdate i mkdate ali ne dobijam ispravne nazive nego nesto istumbano, pa se od ekih 7 datuma samo za recimo jedan pogodi stvaran naziv dana u nedelji. |
[ Dragoslav Krunić @ 07.01.2003. 19:05 ] @
Idi na
http://search.cpan.org i portaži modul Date::Calc (mada nisam siguran da je ovaj; proveri).
Ukoliko za taj datum koji držiš u toj promenljivoj takođe imaš i odgovarajuću vrednost izraženu u broju sekundi od 1. Januara 1970, onda kucaj:
Code:
$ perldoc -f localtime
P.S.
Ovo je ujedno i moja hiljadita poruka

[ bzero @ 08.01.2003. 12:31 ] @
Treba da uradis ono sto je rekao Zombie: napravis Unix timestamp od tvog datuma i onda vidis koji je to dan u nedelji, s tim sto u Perlu to moze otprilike ovako:
use Time::Local;
$moj_datum = "15-10-1997";
@d = split /\-/, $moj_datum; # izdvoj delove datuma
$time = timelocal(0, 0, 0, $d[0], $d[1] - 1, $d[2]); # napravi timestamp
$dan = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[(localtime($time))[6]]; # pronadji dan
print $dan;
[ -zombie- @ 08.01.2003. 13:45 ] @
[evo mog pomenutog posta, iz druge, istovetne teme]
kome bi ti to da "dash", i od koga da "dobijes" ;)
a jednom u 7 je bash slucajno verovatnoca ;)
elem, ne znam perl, ali znam da ima dosta slicnosti sa php-om, pa evo ti ga postupno objasnjenje.
prvo treba da izdvojish elemente iz tog datuma. za to ti treba split po regularnom izrazu. ne znam tacnu sintaxu, ali u php-u je ovakva:
$elementi=preg_split("/-/", $moj_datum);
onda treba da napravish unix timestamp od toga. za to se koristi mktime()
$timestamp=mktime(0, 0, 0, $elementi[1], $elementi[0], $elementi[2]);
(opet nisam siguran za sintaxu, ali je tako nekako. prve tri nule su sat, minut i sekunda, a druga tri parametra su namerno u tom redosledu: mesec, pa dan, pa godina).
i na kraju treba josh samo da napravish string od toga. ako hoces na engleskom onda probaj:
$dan=date("l", $timestamp); // ovo je malo L pod navodnicima
ako oces na srpskom, onda ti treba redni broj dana u nedelji:
$rbr=date("w", $timestamp);
i posle od toga samo prebaci u string. opet ne znam kako bi to bilo u perlu, ali evo ga u php-u:
$dani=array('nedelja', 'ponedeljak', 'utorak', 'sreda', ...);
$dan=$dani[$rbr];
zapamti da je $rbr=0 za nedelju, 1 za ponedeljak, etc..
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.