Sekunden in Datum wandeln !?

Beanpole

Grünschnabel
Hallo,

ich habe ein Datum+Zeit als reinen Integerwert (bzw. double) in Sekunden vorliegen und möchte diesen als Datum+Zeit ausgeben.

Beispiel:
Ich habe --> 3281904000 (Sekunden als double-Wert)
Ich brauche --> 01.01.2004 00:00 (DateTime.ToString())

Ich habe schon eine ganze Weile mit System.DateTime und System.TimeSpan herumexperimentiert, komme aber zu keiner Lösung!

Kann mir jemand helfen?

Danke i.v.
Beanpole
 
Ach ja, hab vergessen zu sagen ... es gilt das NTP, also ab 1900 ...

Hier noch ein Versuch, muss aber auch irgendwie fehlerhaft sein:

double secondsInt=3281904000;

DateTime myDT = new DateTime( 1900, 1, 1, new GregorianCalendar() );
Calendar myCal = CultureInfo.InvariantCulture.Calendar;

myDT = myCal.AddMilliseconds( myDT, secondsInt );

string dateTime=myCal.GetDayOfMonth(myDT)+"."+myCal.GetMonth(myDT)+"."+myCal.GetYear(myDT)+" "+myCal.GetHour(myDT)+":"+myCal.GetMinute(myDT)+":"+myCal.GetSecond(myDT);

Wäre für weitere Tipps und Hilfen dankbar!

ANDI
 
Hier biddeschön:
Code:
DateTime dt = new DateTime(1900, 1, 1, 0, 0, 0, 0);
dt = dt.AddSeconds(3281904000);
//textBox1.Text = dt.ToString();

Da kommt dann 01.01.2004 raus...
 
Ich habe gerade den Thrad gelesen und mir ist schlecht geworden, angesichts der Art wie Du deinen String formatiert hast.
string dateTime=myCal.GetDayOfMonth(myDT)+"."+myCal.GetMonth(myDT)+"."+myCal.GetYear(myDT)+" "+myCal.GetHour(myDT)+":"+myCal.GetMinute(myDT)+":"+myCal.GetSecond(myDT);

Hier mein Vorschlag:

Code:
string DataTime = string.Formant(
	"{0}.{1}.{2} {3}:{4}:{5}",
	myCal.GetDayOfMonth(myDT), myCal.GetMonth(myDT), myCal.GetYear(myDT),
	myCal.GetHour(myDT), myCal.GetMinute(myDT), myCal.GetSecond(myDT))
);

Ist doch gleich viel leichter zu lesen. Und Du sparst übelst viele Hockkommas. :D
 
Zurück