AGB  ·  Datenschutz  ·  Impressum  







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

datumsformat

Ein Thema von khh · begonnen am 30. Jun 2015 · letzter Beitrag vom 1. Jul 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: datumsformat

  Alt 30. Jun 2015, 15:24
Wenn es um Delphi geht: System.DateUtils hat eine Funktion DateToISO8601 .
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: datumsformat

  Alt 30. Jun 2015, 15:38
Wenn es nur um die Formatierung geht:
  ShowMessage(FormatDateTime('yyyy-MM-dd"T"hh:nn:ss"Z"', Date)); Ansonsten siehe Tipps oben.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#3

AW: datumsformat

  Alt 30. Jun 2015, 15:40
sorry, geht bei mir wie immer um Lazarus.

DateToISO8601 gibts dort nicht
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: datumsformat

  Alt 30. Jun 2015, 15:51
http://wiert.me/2011/08/18/iso-8601-...ebugging-tool/
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#5

AW: datumsformat

  Alt 30. Jun 2015, 15:59
Dann bleibt Dir vermutlich kaum was anderes über, als die Darstellung in ISO8601 und das Parsen von dort selber zu übernehmen.

Aber aufpassen, wenn Du das Codesample von Popov übernehmen willst:

Das Z hinten gibt an, das die Zeit in UTC ist. Das heisst wenn Du eine lokale Zeit hast (z.B. bei uns Mitteleuropäische Sommerzeit), dann musst Du jetzt z.B. 2015-06-30T15:56+02:00 angeben oder aber vorher in UTC umrechnen: 2015-06-30T13:56Z.

Ich empfehle vor der Implementierung das hier zu lesen: https://de.wikipedia.org/wiki/ISO_8601
Bzw. wenn Du eine Bibliothek findest die das macht, die dagegen mal kurz abzuklopfen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#6

AW: datumsformat

  Alt 30. Jun 2015, 16:07
alsoo ich hab jetzt das Beispiel von Popov ausprobiert.
Das funktioniert bis zum 9. des Monats:

2015-06-09T00:00:00Z am 10. des Monats bekomme ich als Ergebnis :

2015-06-01T00:00:00Z0 am 11ten

2015-06-01T00:00:00Z1 was läuft da falsch??
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#7

AW: datumsformat

  Alt 30. Jun 2015, 16:18
@Markus, ich danke dir, aber

XSBuiltIns hab ich bei Lazarus leider auch nicht
Karl-Heinz
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#8

AW: datumsformat

  Alt 30. Jun 2015, 16:34
alsoo ich hab jetzt das Beispiel von Popov ausprobiert.
Das funktioniert bis zum 9. des Monats:
Das Beispiel von Popov funktioniert einwandfrei.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lDateTime: TDateTime;
begin
  lDateTime := StrToDate('10.06.2015','.');
  ShowMessage(FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', lDateTime));
end;

Ausgabe: 2015-06-10T00:00:00Z

was läuft da falsch??
Irgendetwas mit Deinen TDateTime-Werten, welche Du übergibst stimmt nicht.

Wo kommen die denn hier bzw. wie und wo werden diese erzeugt?
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#9

AW: datumsformat

  Alt 30. Jun 2015, 17:12
mit

  myDate := StrToDate('01/06/15'); // Startdatum setze ich das Startdatum

in einer Schleife zähle ich die Daten hoch
tag: string;
Delphi-Quellcode:
  for i:= 1 to 30 do
    begin
       Tag:= FormatDateTime('yyyy-MM-dd"T"hh:nn:ss"Z"', myDate);
       myDate := incDay(mydate) ;
    end;
EDIT: muss woanders liegen
Karl-Heinz

Geändert von khh (30. Jun 2015 um 17:22 Uhr) Grund: ich glaub ich hab den fehler doch nicht
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#10

AW: datumsformat

  Alt 30. Jun 2015, 17:38
mit

  myDate := StrToDate('01/06/15'); // Startdatum setze ich das Startdatum

in einer Schleife zähle ich die Daten hoch
tag: string;
Delphi-Quellcode:
  for i:= 1 to 30 do
    begin
       Tag:= FormatDateTime('yyyy-MM-dd"T"hh:nn:ss"Z"', myDate);
       myDate := incDay(mydate) ;
    end;
EDIT: muss woanders liegen
Dann zeige uns mal die Funktion incDay().
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  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 01:43 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 by Thomas Breitkreuz