(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

Antwort per Email an