| Autor |
Beitrag |
Vegeto
      
Beiträge: 262
|
Verfasst: Do 21.03.13 11:56
HalliHallo...
Ich habe mal nur eine kurz frage.
Ich möchte zwischen zwei Datums(DateTimes), alle Datums in eine TextBox speichern/anzeigen.
Ich weiß das man sowas mit der Struktur TimeSpan machen kann, doch diese Struktur gibt nur Tage,Stunden,Minuten etc. aus, keine vollständigen Date's.
Jetzt wollte ich euch fragen ob es irgendeine Möglichkeit gibt, die Dates herraus zufiltern?
z.B.
anfangDatum = 20.05.2013
endDatum = 27.05.2013
allDate = 20.05.2013,21.05.2013,22.05.2013,23.05.2013,24.05.2013,25.05.2013,26.05.2013,27.05.2013
So stelle ich mir das vor.
ich hoff jemand kann mir irgendeine Anrregung zu diesem Thema geben.
Lg
|
|
jfheins
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: Do 21.03.13 12:07
Wie wäre es mit einer Schleife? C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var start = new DateTime(2013, 05, 20); var ende = new DateTime(2013, 05, 27);
var x = start; do { Debug.WriteLine(x.ToString("yyyy-MM-dd")); x = x.AddDays(1); } while (x <= ende); |
Für diesen Beitrag haben gedankt: Vegeto
|
|
Vegeto 
      
Beiträge: 262
|
Verfasst: Do 21.03.13 13:09
Hallo jheins
Habe mal dein Code für meine verhältnisse angepasst:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var start = new DateTime(2013, 05, 20); var ende = new DateTime(2013, 05, 27);
var x = start; do { txt3.Text = x.ToString("dd-MM-yyyy"); x = x.AddDays(1); } while (x <= ende); |
Doch nun zeigt die TextBox.Text = 27.05.2013 an.
Also das letzte datum, aber mit so einer schleife müsste es funktionieren.
Ich probiere weiter, danke
EDIT:
So habe dein Quellcode geändert und dann macht er das was ich will
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var start = new DateTime(2013, 05, 20); var ende = new DateTime(2013, 05, 27);
var x = start; do { txt3.Text += x.ToString("dd.MM.yyyy") + ",";
x = x.AddDays(1); } while (x <= ende); |
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 21.03.13 16:07
Hi,
du solltest das hier:
C#-Quelltext 1:
| x.ToString("dd.MM.yyyy") + ","; |
auch direkt so schreiben können eigentlich:
C#-Quelltext 1:
| x.ToString("dd.MM.yyyy,"); |
ist natürlich aber Geschmackssache was man selbst als übersichtlicher empfindet.
Eine kleine andere Anmerkung noch: Die Mehrzahl vom "Datum" ist "Daten", das Wort "Datums" gibt es nicht  Wenn man (wie hier im Forum sinnvoll) Verwechslung des Wortes vorbeugen möchte, sollte man es eher umschreiben wie "Datumsangaben" oder direkt das englische "Dates" verwenden, á la "Ich habe mehrere Variablen vom Typ TDateTime..".
Nur so als kleiner hinweis, ist aber natürlich nichts dramatisches
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Do 21.03.13 16:33
Alternativ
C#-Quelltext 1: 2: 3: 4:
| var start = new DateTime(2013, 05, 20); var ende = new DateTime(2013, 05, 27);
txt3.Text = string.Join(",", Enumerable.Range(0, (ende - start).Days+1).Select(x => start.AddDays(x).ToString("dd.MM.yyyy"))); |
Für diesen Beitrag haben gedankt: Vegeto
|
|
Vegeto 
      
Beiträge: 262
|
Verfasst: Fr 22.03.13 10:14
Aya hat folgendes geschrieben : |
Eine kleine andere Anmerkung noch: Die Mehrzahl vom "Datum" ist "Daten", das Wort "Datums" gibt es nicht Wenn man (wie hier im Forum sinnvoll) Verwechslung des Wortes vorbeugen möchte, sollte man es eher umschreiben wie "Datumsangaben" oder direkt das englische "Dates" verwenden, á la "Ich habe mehrere Variablen vom Typ TDateTime..".
Aya |
Alles Klar, Danke
Und ich habe dort ein komma eingefüggt, damit ich eine übersicht habe und zugleich ein trennzeichen
Danke trotzdem
@ Ralf Jansen
Danke werde ich mir mal anschauen
Lg
|
|
|