AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DateTime String Format nicht bekannt

Ein Thema von TRomano · begonnen am 17. Aug 2023 · letzter Beitrag vom 18. Aug 2023
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
190 Beiträge
 
Delphi 11 Alexandria
 
#1

DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 10:01
Hallo zusammen,

über eine Schnittstelle bekomme ich neuerdings Daten, deren Format ich noch nie gesehen hatte:

"Mon Jun 26 2023 07:20:48 GMT+0000 (Coordinated Universal Time)"

Kennt das jemand von Euch? Wenn ja, parst ihr das dann selber oder gibt es in Delphi platformunabhängige Versionen zum Umwandeln in TDateTime?
Diese Daten sollen in eine MariaDB als DateTime oder Timestamp gespeichert werden.

Danke im Voraus !

Tom
Thomas Forget
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 10:58
Schaut nach US-Format aus mit Monat = Text und dafür das / als Erkennungsmerkmal weg gelassen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
190 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 12:32
Danke.
Das werde ich mal so versuchen.
Thomas Forget
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#4

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 13:39
Also für eine Schnittstelle ist das ja eher ein ungünstiges Format.

Sicher, dass die, wo das her komm, nicht 'nen Bug haben oder irgendwelche (hoffentlich vorübergehenden) Mist bauen?


Emba hat ja letztens an den Datums-Funktionen was repariert ... eventuell klappt es, wenn du dem StrToDateTime das 'ddd mmm dd yyyy hh:mm:ss' gibst,
also 'ddd mmm dd yyyy' im FormatSettings als DateStr und 'hh:mm:ss' als TimeStr. (vorher ab 'GMT' alles entfernt)

Es wäre zu schön, wenn es ein eine Umkehrfunktion zum Delphi-Referenz durchsuchenFormatDateTime und Delphi-Referenz durchsuchenDateTimeToString gäbe.




PS:
Delphi-Quellcode:
procedure TForm25.FormCreate(Sender: TObject);
type
  TDayNames = array[1..7] of string;
  TMonNames = array[1..12] of string;
const
  DayNames: TDayNames = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
  MonNames: TMonNames = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
begin
  Caption := FormatDateTime('DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now);

  // Warum hat Invarant im englischen Format die deutschen Namen?
  Caption := FormatDateTime('DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now, TFormatSettings.Invariant);

  var FS := TFormatSettings.Invariant;
  TDayNames(FS.ShortDayNames) := DayNames;
  TMonNames(FS.ShortMonthNames) := MonNames;
  Caption := FormatDateTime('DDD MMM DD YYYY HH:MM:SS "GMT+0000 (Coordinated Universal Time)"', Now, FS);
end;
Also oben beim StrToDateTime mit dem FormatSettings aufpassen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Aug 2023 um 14:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#5

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 13:59
Mit diesen FormatSettings sollte es mit TryStrToDateTime gehen. Allerdings bleibt die Zeitzone dabei unberücksichtigt und müsste von Hand ausgewertet werden.

Delphi-Quellcode:
  var fmt := TFormatSettings.Invariant;
  fmt.ShortDateFormat := 'ddd mmm dd yyyy';

  fmt.ShortDayNames[1] := 'Sun';
  fmt.ShortDayNames[2] := 'Mon';
  fmt.ShortDayNames[3] := 'Tue';
  fmt.ShortDayNames[4] := 'Wed';
  fmt.ShortDayNames[5] := 'Thu';
  fmt.ShortDayNames[6] := 'Fri';
  fmt.ShortDayNames[7] := 'Sat';

  fmt.ShortMonthNames[1] := 'Jan';
  fmt.ShortMonthNames[2] := 'Feb';
  fmt.ShortMonthNames[3] := 'Mar';
  fmt.ShortMonthNames[4] := 'Apr';
  fmt.ShortMonthNames[5] := 'May';
  fmt.ShortMonthNames[6] := 'Jun';
  fmt.ShortMonthNames[7] := 'Jul';
  fmt.ShortMonthNames[8] := 'Aug';
  fmt.ShortMonthNames[9] := 'Sep';
  fmt.ShortMonthNames[10] := 'Oct';
  fmt.ShortMonthNames[11] := 'Nov';
  fmt.ShortMonthNames[12] := 'Dec';
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#6

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 18:47
"Mon Jun 26 2023 07:20:48 GMT+0000 (Coordinated Universal Time)"

Kennt das jemand von Euch?
Mit der mORMot Bibliothek so:
Delphi-Quellcode:
uses
  mormot.core.base,
  mormot.core.datetime;

const
  DATE_TIME = 'Mon Jun 26 2023 07:20:48 GMT+0000 (Coordinated Universal Time)';
begin
  var dt: TDateTime;
  if HttpDateToDateTime(DATE_TIME, dt) then
    ShowMessage(DateTimeToStr(dt));
Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#7

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 21:04
Zitat:
HttpDateToDateTime(DATE_TIME, dt)
ach du sch....

Das ist wirklich ein echtes Datenaustauschformat?
Wer hat sich denn sowas Grauenhaftes ausgedacht und warum?

Bei Google suchenHttpDatetime
https://stackoverflow.com/questions/...e-code-c-sharp
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Aug 2023 um 21:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#8

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 21:28
HttpToDate aus System.DateUtils leistet das übrigens auch.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#9

AW: DateTime String Format nicht bekannt

  Alt 17. Aug 2023, 21:33
Wer hat sich denn sowas Grauenhaftes ausgedacht und warum?
Wer: RFC 7231

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
190 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: DateTime String Format nicht bekannt

  Alt 18. Aug 2023, 11:43
Super ! Danke für all eure Antworten!
War heute noch mit etwas Anderem beschäftigt, deshalb werde ich es erst heute Nachmittag probieren können.
Thomas Forget
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz