Article View: de.comp.lang.c++
Article #1224Re: Datum <-> long
From: Haiko Emmel
Date: Wed, 10 Jan 1996 22:18
Date: Wed, 10 Jan 1996 22:18
45 lines
1965 bytes
1965 bytes
huebnerm@informatik.tu-muenchen.de (Markus Huebner) wrote:
>|> > ich suche eine Funktion die eine Umwandlung eines Datums in
>|> > einen eindeutigen long-Wert vornimmmt und/oder umgekehrt.
>|> > Hat jemand so eine Funktion gesehen?
>|> > Wenn ja: Wo kann ich Sie mir besorgen?
>|> Markus,
>Etwas genauer:
>Zur Umwandlung noch folgendes (habe ich vorhin vergessen):
>Zwei auf einanderfolgende Tage sollten auch zwei aufeinanderfolgende
>long-Werte haben. Es sollten also schon Monate mit 28,30,31 Tagen und
>im Schaltjahr auch der Februar mit 29 Tagen beruecksichtigt werden.
>z.B.: Wenn der 31.01.96 den Wert 10000 hat (beliebige Annahme), so sollte
>der 01.02.96 den Wert 10001 besitzen.
Hallo Markus,
vielleicht kannst Du die Bibliotheksfunktion
time_t mktime(struct tm *t) verwenden. Sie wandelt das Datum (und die
Zeit) in der Struktur in die Anzahl Sekunden nach 1.1.1970 um. Um
diese Zahl dann in eine Tagesangabe umzuwandeln brauchst Du nur noch
durch die Anzahl der Sekunden pro Tag (86400) zu dividieren. Diese
Funktion ist in Borland C++ verfรผgbar und ist angeblich
ANSI-kompatibel.
Also:
long dateAsLong(int day, int month, int year)
{
struct tm tempDate;
tempDate.tm_sec=0;
tempDate.tm_min=0;
tempDate.tm_hour=0;
tempDate.tm_mday=day;
tempDate.tm_mon=month;
tempDate.tm_year=year;
tempDate.tm_isdst=-1; // Sommerzeit
return mktime(&tempDate)/86400;
}
Hoffentlich klappts,
Gruss
Haiko
Technical Details
Message-ID:
<4d1e56$ooj@dub-news-svc-1.compuserve.com>Path:
arc1-ca.pugleaf.net!news.compuserve.com!newsmasterReferences:
<4ctb15$s4s@sunsystem5.informatik.tu-muenchen.de> <30F251CC.3AD3@fokus.gmd.de> <4ctldq$20r@sunsystem5.informatik.tu-muenchen.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.compuserve.com!newsmaster From: 100321.1321@compuserve.com (Haiko Emmel) Newsgroups: de.comp.lang.c++ Subject: Re: Datum <-> long Date: Wed, 10 Jan 1996 22:18:13 GMT Organization: CompuServe Incorporated Message-ID: <4d1e56$ooj@dub-news-svc-1.compuserve.com> References: <4ctb15$s4s@sunsystem5.informatik.tu-muenchen.de> <30F251CC.3AD3@fokus.gmd.de> <4ctldq$20r@sunsystem5.informatik.tu-muenchen.de> NNTP-Posting-Host: hd55-011.compuserve.com X-Newsreader: Forte Free Agent 1.0.82