Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Do 21.03.13 12:07 
Wie wäre es mit einer Schleife?
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
            var start = new DateTime(20130520);
            var ende = new DateTime(20130527);

            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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Do 21.03.13 13:09 
Hallo jheins

Habe mal dein Code für meine verhältnisse angepasst:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var start = new DateTime(20130520);
            var ende = new DateTime(20130527);

            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 :)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var start = new DateTime(20130520);
            var ende = new DateTime(20130527);

            var x = start;
            do
            {
                txt3.Text += x.ToString("dd.MM.yyyy") + ",";

                //das habe ich ausgeblendet.
                //txt3.Text = x.ToString("dd-MM-yyyy"); 
                x = x.AddDays(1);
            } while (x <= ende);
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 21.03.13 16:07 
Hi,

du solltest das hier:

ausblenden C#-Quelltext
1:
x.ToString("dd.MM.yyyy") + ",";					


auch direkt so schreiben können eigentlich:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 21.03.13 16:33 
Alternativ

ausblenden C#-Quelltext
1:
2:
3:
4:
var start = new DateTime(20130520);
var ende = new DateTime(20130527);

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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 22.03.13 10:14 
user profile iconAya hat folgendes geschrieben Zum zitierten Posting springen:

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