Sekunden in Datum umwandeln!

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

Hi!

Du hast’s leider nicht geschrieben, aber ich gehe mal davon aus, dass die Anzahl Sekunden ab dem 1.1.1970 00:00:00 gerechnet sind, oder?
Aber egal, welchen Ausgangspunkt Du hast, Du machst Dir daraus ein DateTime (DateTime dt = new DateTime(1970, 1, 1):wink: und addierst einfach die Anzahl Sekunden drauf (dt = dt.AddSeconds(3281904000):wink:, schon hast Du das gewünschte Datum, das Du dann nach belieben formatiert ausgeben kannst.

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Martin,

Danke für den Tip! Die Sekunden beziehen sich bei mir auf 1900, und ich trigger die Sache einfach auf 2004, um mit Integer arbeiten zu können. Ich habe jetzt also eine Lösung gefunden:

// 1900 von 2004 abziehen
secondsDouble=Convert.ToDouble(seconds)-3281904000;
secondsInt=Convert.ToInt32(secondsDouble);
DateTime myDT = new DateTime( 2004, 1, 1, new GregorianCalendar() );
Calendar myCal = CultureInfo.InvariantCulture.Calendar;
myDT = myCal.AddSeconds( myDT, secondsInt );
string tag=myCal.GetDayOfMonth(myDT).ToString();
string monat=myCal.GetMonth(myDT).ToString();

Gruß,
Beanpole