(Zeit)Reihe fortführen?
-
Hallo,
für ein Chart sind gegeben Werte für eine y-Achse (double) und Werte für eine x-Achse (String) zur Beschriftung eines zeitlichen Verlaufs. Mein Programm errechnet anhand der Werte Prognosen und folglich muss die Beschriftung der x-Achse Strings mit künftigen Datümern enthalten, also z.B. "2010/12".
Problem: Die gegebenen Datümer (Vergangenheit und Heute) in den Eingabedaten sind nicht einheitlich genormt. Diese können die Gestalt haben "2007/10" oder auch "10-2006" oder auch "Okt 96". Eine Beschriftung gemäß "1", "2" für den Prognosenteil der x-Achse fortzuführen wäre natürlich kein Thema, ich weiss aber nicht, wie ich diese Art Zeitdaten programmiertechnisch herausfinden und fortsetzen kann. Die Datümer weisen alle ein bestimmtes Muster auf, also z.B. "Okt 96", "Nov 96", "Dez 96" usw. und sind lückenlos.
Komme ich dabei um umständliches parsen herum, gibt es vielleicht eine Art Methode für sowas? Vielen Dank.
-
Hallo,
hört sich für mich so an, als wenn reguläre Ausdrücke das richte Werkzeug für dich sind. Damit kannst du verschiedene Muster erzeugen, die in einem String gesucht werden.
P.S.: Die Mehrzahl von Datum ist Daten.
-
Danke für Deine Antwort, mit regulären Ausdrücken geht das sicher
Ich hatte aber eigentlich auf eine Funktion ähnlich der in Excel gehofft, wo man einfach z.B. 3 Zellen markiert und Excel dann automatisch die anderen mit der logisch fortlaufenden Reihe füllt, wenn man die Maus dorthin zieht. Aber sowas gibt es in .NET wohl (noch) nicht, also dass man z.B. einer Funktion eine Daten-Reihe übergibt, diese dann das Datumsformat erkennt und ein StringArray mit vorher definierter Länge ausgibt..?
-
Wenn Du bereits ein System::DateTime hast, ist das Weiterführen genauso wenig ein Problem wie in Excel.
DotNet kann auch Strings zu einem korrekten DateTime parsen, die Frage ist, ob das für alle deine verschieden Varianten geht. Da mußt Du dich aber selber schlau machen, ob das in deinem Fall möglich ist. Aber ich denke, da gibt es auch die Möglichkeit, selber das Datumsformat anzugeben.