Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi datumskonvertierung (https://www.delphipraxis.net/37912-datumskonvertierung.html)

day 12. Jan 2005 08:56


datumskonvertierung
 
Hallo

Ich suche eine Funktion, mit der ich ein Eingegebenes Datum (z.b mm/dd yyyy) in ein anderes Format (mm.dd.yyyy) umwandeln kann.
Das eingegebene datum kann je nach regional settings varieren. Die funktion sollte entsprechend flexibel sein.

Kennt jemand eine solche funktion?

Matze 12. Jan 2005 08:59

Re: datumskonvertierung
 
Dies sollte helfen: Delphi-Referenz durchsuchenFormatDateTime Hier im Forum suchenFormatDateTime

day 12. Jan 2005 10:45

Re: datumskonvertierung
 
hallo
danke für die Antwort.
allerdings geht es mit dieser funktion nicht. Da die eingabe z.B. auch folgendermassen aussehen könnte
(dd-MMM-yy) 12-Jan-05 . Dies kann dann nicht mehr konvertiert werden, da TDateTime einem anderen Format entspricht.

Luckie 12. Jan 2005 10:46

Re: datumskonvertierung
 
Dann guck mal etws weiter in der Hilfe nach. EncodeDate und DecodeDate werden bestimmt auch aufgeführt, wenn du FormatDateTime in der Hilfe gefunden hast.

day 12. Jan 2005 11:07

Re: datumskonvertierung
 
Hallo
Mit diesen funktion lassen sich aber ebenfalls nur einfache Datumformate konvertieren. ein datum wie folgendes
"12-Jan-05"lässt sich nicht konvertieren.

day 14. Jan 2005 16:02

Re: datumskonvertierung
 
so wie es ausschaut ist es tatsächlich nicht möglich eine Eingabe von 12/Januar 2005 in ein TDate zu konvertieren. Ist echt schade :|

Sprint 14. Jan 2005 16:13

Re: datumskonvertierung
 
Zitat:

Zitat von day
Mit diesen funktion lassen sich aber ebenfalls nur einfache Datumformate konvertieren. ein datum wie folgendes
"12-Jan-05"lässt sich nicht konvertieren.

Zitat:

Zitat von day
so wie es ausschaut ist es tatsächlich nicht möglich eine Eingabe von 12/Januar 2005 in ein TDate zu konvertieren. Ist echt schade

Natürlich ist das möglich. StrToDate mit TFormatSettings benutzen. DateSeparator und ShortMonthNames richtig setzen.
Delphi Hilfe lesen und ausprobieren!!!

DP-Maintenance 14. Jan 2005 23:23

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Windows API" nach "Object-Pascal / Delphi-Language" verschoben.
Kein Problem für die Windows-API

Airblader 14. Jan 2005 23:36

Re: datumskonvertierung
 
Möglich ist es einerwegs.

Im Notfall kann man sich mit Pos,Delete,Copy,... usw. usf. auch eine Funktion basteln.

air

Sprint 15. Jan 2005 00:06

Re: datumskonvertierung
 
Zitat:

Zitat von day
Das eingegebene datum kann je nach regional settings varieren. Die funktion sollte entsprechend flexibel sein.

Zitat:

Zitat von Airblader
Im Notfall kann man sich mit Pos,Delete,Copy,... usw. usf. auch eine Funktion basteln.

Warum sollte man das tun? Es gibt doch schon eine.

Airblader 15. Jan 2005 00:31

Re: datumskonvertierung
 
@sprint

ich wollte nur die aussage "es is nich möglich" widerlegen ;)

air

Sprint 15. Jan 2005 00:45

Re: datumskonvertierung
 
Zitat:

Zitat von Airblader
ich wollte nur die aussage "es is nich möglich" widerlegen

Sorry. Da habe ich dich wohl falsch verstanden.

day 15. Jan 2005 15:04

Re: datumskonvertierung
 
Also ich habe folgende kleine Test durchgeführt welche bei mir nicht funktionierten. Da es ja gehen soll könnt ihr mir sicher sagen was ich falsch mache!?


Als Datum habe ich folgendes im Edit feld eingegeben : 25/01 2005
beim konvertieren trat eine exception auf, dass es kein gültiges format ist.
Code:
procedure TForm1.Button1Click(Sender: TObject);
var Date : TDateTime;
begin

  ShortDateFormat := 'TT/MM JJJJ'; //Format: Usbekisch (lateinisch)
  Date := StrToDate ( Edit1.Text );

end;
2.Test
Als Datum habe ich folgendes eingegeben: 25.Jan.2005 (beispiel aus Windows RegionalSettings)
Code:
procedure TForm1.Button1Click(Sender: TObject);
var Date : TDateTime;
begin
  DateSeparator := '.';
  ShortDateFormat := 'TT.MMM.JJJJ'; // Format: Deutsch (monat ist als Text)
  Date := StrToDate ( Edit1.Text );

end;
Aber auch dieses Datum konnte nicht konvertiert werden.

Die ShortMonthNames habe ich überprüft, die sind alle richtig gesetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz