Analysieren finnischen Datum string zu Datum Geben Sie in VB6
Ich bin immer in der finnischen Datums-Zeichenfolge, die wie folgt aussieht:
29.7.2011 9:27
Ich versuche, die Besetzung dieser string zu einem Date-Objekt in VB6. Ich habe versucht mit der Format-Funktion, aber es scheint nicht zu schlucken, die Datums-Zeichenfolge oder ich mache etwas falsch. Dies sind einige Ansätze, die ich ausprobiert habe:
theDate = Format(dateString, "General Date")
theDate = Format(dateString, "DD.MM.YYYY MM:HH")
Irgendwelche Ideen? Danke.
- Getan. Aktualisiert die Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt manuell Parsen der string selbst, die ist fehleranfällig, und die wird chaotisch, wenn man mit mehreren Datums-Formate, die Sie nennen können, um die OLE-Automation library (die VB6 verwendet intern für viele Dinge, einschließlich Typ-Konvertierungen), um die Konvertierung für Sie tun. Es kann konvertieren von Zeichenfolgen in beliebigen Datum/Zeit-format, die von Windows unterstützt wieder in ein raw - Datum.
Unten ist ein Beispiel für eine DateFromString - Funktion, verwendet die VarDateFromStr Funktion intern zu konvertieren, die eine formatierte Datum/Uhrzeit - String in eine Datum.
Beispiel Für Die Verwendung
Konvertieren eine finnische Datums-string zu einem Datum und anzeigen:
Auf meinem Rechner (Englisch (USA-Einstellungen) diese Anzeige zeigt "7/29/2011 9:27 UHR", welches das richtige Datum und Zeit (Juli 29).
Code
Fügen Sie den folgenden code in ein neues Modul (.bas-Datei) in Ihrem Projekt zu verwenden. Der code derzeit unterstützt Parsen von US-Englisch (de_de) und finnischen (fl_FI) Datum-strings, aber Sie können hinzufügen der Unterstützung für weitere Sprachen, falls erforderlich. Sehen Gebietsschema-IDs zugeordnet, die von Microsoft für eine vollständige Liste der Gebietsschema-ID ist.
Können Sie
DateSerial
und "TimeSerial" in der folgenden Weisenun Sie
theDate
ist ein Datum-Objekt und formatiert werden können, wie Sie wollenWenn Ihr den Datums-string nicht mit Nullen aufgefüllt (Beispiel: 2.4.2011 statt 02.04.2011), dann musst du eine Schleife über den string zu finden, die bits und Teile das Datum, die Sie benötigen werden.
Finnisch-Systeme sollten in der Lage sein, zu analysieren, richtig mit
CDate()
. Wenn Sie analysieren es auf einer nicht Finnisch-system und das format ist behoben, dann müssen Sie es aufteilen in code:Werden Sie probbaly hinzufügen möchten, Fehlerbehandlung und ' sanity checks zu machen, aber das ist die Grundidee.
Beachten Sie, dass die Konvertierung von Daten in und aus string-Werte werden fehleranfällig, es sei denn mit sehr expliziten verfügbar vereinbarten Formaten wie ISO 8601, RFC 822 Termine und iCal - RFC 2445 standard.
Analyse chaotisch ist am besten, aber hier ist eine kürzere Probe, wie es zu tun