๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1224

Re: Datum <-> long

#1224
From: Haiko Emmel
Date: Wed, 10 Jan 1996 22:18
45 lines
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!newsmaster
References: <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