Portál AbcLinuxu, 29. prosince 2025 16:48
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.
export PERL5LIB=/home/user/lib/perl5/
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

epoch, potom +1D je +86400
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");
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.