AGB  ·  Datenschutz  ·  Impressum  







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

mit TDateTime rechnen

Ein Thema von Woyzeck · begonnen am 7. Jul 2011 · letzter Beitrag vom 7. Jul 2011
Antwort Antwort
Woyzeck

Registriert seit: 9. Jun 2009
60 Beiträge
 
#1

mit TDateTime rechnen

  Alt 7. Jul 2011, 12:29
Hallo,
ich stehe vor dem Problem, dass mir die Datumskonvertierung aus SuperObject ein falsches TDateTime zurückgibt.
Eingabe: 01.01.2011 -> 01.01.2011 01:00:00

Ich hätte dagegen gerne ein 01.01.2011 00:00:00 zurück.

Wie kann ich jetzt von diesem TDateTime (Double) eine Stunde abziehen?

Gruß Woyzeck
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 12:32
x := x - (1 / 24) .
PS: In der OH steht drin, wie TDateTime aufgebaut ist und mit dieser Info hättest du das auch leicht selber ausrechnen können.

Aber eventuell ist das ja die Zeitzone?
Würde ich die Zeitzone abziehen/dazurechne


MSDN-Library durchsuchenLocalFileTimeToFileTime macht dieses.
Entweder man nutzt sowas für TDateTime oder mach rechnet es mal kurz in FileTime um.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Woyzeck

Registriert seit: 9. Jun 2009
60 Beiträge
 
#3

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 12:39
Danke für die schnelle Hilfe. Sommer/Winterzeit ist mir auch gerade als Idee gekommen.
Ich teste das gerade mal.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 12:40
Das sieht sehr nach Zeitzone aus.
aber Vorsicht mit LocalFileTimetoFileTime die Frage ist, was ist "local" da könnte es durchaus Differenzen geben.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
HHennig

Registriert seit: 16. Feb 2007
Ort: Pforzheim
51 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 12:49
Hallo Woyzeck,

wenn du nur das Datum brauchst (also Zeit ist immer 00:00:00), dann schneide doch einfach die Nachkommastellen in TDateTime ab; diese stellen die Zeit dar. Geht mit Trunc(ADateTime).
Hartmut
*
  Mit Zitat antworten Zitat
Woyzeck

Registriert seit: 9. Jun 2009
60 Beiträge
 
#6

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 12:57
HHennig:
Das ist eine sehr gute Idee ! Vielen Dank!


[edit] im Übrigen scheint Sommer/Winterzeit nicht das Problem zu sein.

Geändert von Woyzeck ( 7. Jul 2011 um 13:01 Uhr)
  Mit Zitat antworten Zitat
HHennig

Registriert seit: 16. Feb 2007
Ort: Pforzheim
51 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 13:00
Immer gern!
Hartmut
*
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 14:02
Geht mit Trunc(ADateTime).
Eigentlich wäre hier die Funktion Int() anstelle von Trunc() zu verwenden.
Trunc() funktioniert zwar auch; liefert aber einen Integer zurück der sogleich in einen Double umgewandelt werden muss.
Delphi-Quellcode:
// Int returns the integer part of X; that is, X rounded toward zero.
function Int(X: Extended): Extended;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#9

AW: mit TDateTime rechnen

  Alt 7. Jul 2011, 16:18
Sollte das Problem die Zeitzone sein, dann kann ich unter Delphi XE die TTimeZone-Klasse empfehlen Ist aber eben leider erst ab der genannten Version enthalten.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:02 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