(J�rgen, bist Du �berhaupt noch auf der Liste? Ich meine ich h�tte von Dir
eine Abbestellung gesehen!)
* Hans Freitag wrote/schrieb:
> Guter ansatz, ich h�tte aber erst ein mktime gemacht, und dann die
> derzeitige time abgezogen.
Ich bin auch ganz beeindruckt, wie Tobias mit Monaten und Schaltjahren
hantiert. Respekt! :-)
> Also wenn tm das Datum enth�lt:
>
> t=mktime(tm)-time(0);
>
> Und schon hast du die sekunden die du noch hast bis du deinen neuen
> Rechner bekommst.
>
> Die Tage bekommst du mit:
>
> div=div(t,86400);
>
> div[0] enth�lt jetzt die Tage.
Ich kann kein C, aber bei der Umsetzung in Perl habe ich ein klein wenig
gestutzt bis ich gemerkt habe, da� time() UTC rausgibt, w�hrend ich mit der
vom User eingegebenen Zeit eher schludrig umgegangen bin. Diese habe ich
dann auf 00:00 Uhr UTC als Bezugspunkt heruntergerechnet.
Ich habs jedenfalls so gemacht:
[martin@fred testarea]$ cat tagebis.pl
#!/usr/bin/perl -w
use strict;
use Time::Local;
use Getopt::Std;
my %opts;
getopts('j:m:t:', \%opts);
my $zieljahr = $opts{j};
my $zielmonat = $opts{m};
my $zieltag = $opts{t};
my $zielzeit = timegm(0, 0, 0, $zieltag, $zielmonat - 1, $zieljahr);
my $jetztzeit1 = time();
my $jetztzeit = $jetztzeit1 - ($jetztzeit1 % 86400);
my $wartezeit = $zielzeit - $jetztzeit;
my $wartetage = $wartezeit / 86400;
print "Noch $wartetage x Schlafen bis zum $zieltag.$zielmonat.$zieljahr\n";
exit(0);
Also mal kucken, wie lange es noch bis zur Bescherung dauert:
[martin@fred testarea]$ ./tagebis.pl -t 24 -m 12 -j 2002
Noch 255 x Schlafen bis zum 24.12.2002
Ich hoffe mal, da� der Bereich innerhalb der Zeitverschiebung UTC/MESZ auf
diese Weise auch wirklich komplett abgedeckt ist.
-martin
--
The world is coming to an end. Please log off.
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org