Problem mit Datum

joe81

Grünschnabel
Hallo Zusammen

Ich steh fürchterlich auf dem Schlauch.

Ich will die Zeit erfassen und diese zu einem beliebigen Zeitpunkt an eine TXT-Datei übergeben. Es kann sein, das dabei die Datumsgrenze überschritten wird. Deshalb muss ich die Zeit beim Starten des Forms erfassen. Nun habe ich Probleme beim ausgeben des Datums. Ich schreibe alles in einer Klasse Datum und übergebe es später der Anwendung.

Code:
class Datum
    {

        protected string date ;


        //Anfangszeitpunkt erfassen
        public void setDate()
        {
            DateTime dt = System.DateTime.Now;
            string date = dt.ToString("_ddMMyyyy");
        }

        ////Anfangszeitpunkt ausgeben
        public string getDate()
        {
            return date;
        }

    }

Hat irgend einer ne Idee? Ich komme nicht weiter und übe schon seit Stunden. Eigentlich ist es ja wie bei einem Counter nur der ist in int.

MFG
Joe
 
Warum schreibst Du alles über eine Klasse, wenn du schon System.DateTime.Now hast?

Oder kommt SetDate mit dem Datumsformat nicht zurecht?

dann musst Du mit System.Globalization arbeiten....
 
Grundsätzlich arbeite ich mit klassen um an übersicht und modularität zu gewinnen.

mein programm hat einen festen ablauf, dieser ablauf, kann über mitternacht andauern (-> Datumswechsel) am ende spuckt es eine txt datei raus.

nun muss ich das datum beim start des programms erfassen und es am ende an den namen der txt-datei anhängen.

das ist das problem und ich komme nicht drauf wie ich es lösen kann
 
Ich würde es im etwa dann so lösen:

Code:
public class StartDatum
{
   public StartDatum()
   {
      _StartDatum = DateTime.Now;
   }

   public DateTime HoleDatum{
     get{ return _StartDatum;
   }
}




Programm:
Class MeinProgramm
{
  StartDatum startdatum=null;
  public MeinProgramm()
  {
    startdatum = new StartDatum();
  }
 
  private void Ende()
  {
     using (System.IO.StreamWriter sw = new System.IO.StreamWriter(string.Format("dateiname_{0:yyyyMMdd}.txt",startdatum.HoleDatum)))
   {
     sw.Writeln();
     sw.Close();
   }

  }

}
 
Hallo joe81,

mit dieser Anweisung
C#:
string date = dt.ToString("_ddMMyyyy");
erzeugst du eine lokale Variable und weist ihr den String zu. Der Text landet also nicht (wie beabsichtigt) in der Member-Variablen "date".

Gruß
MCoder
 
Zurück