AGB  ·  Datenschutz  ·  Impressum  







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

IncYear mit 29.02.2004

Ein Thema von hoika · begonnen am 9. Mär 2012 · letzter Beitrag vom 9. Mär 2012
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

IncYear mit 29.02.2004

  Alt 9. Mär 2012, 11:31
Hallo #,

IncYear(EncodeDateTime(2004,2,29)) ergibt 28.2.2005.
So steht es auch in der Hilfe.
Ist denn nicht der 01.03.2005 richtig ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: IncYear mit 29.02.2004

  Alt 9. Mär 2012, 11:36
Am letzten Tag des Monats Februar incrementierst du das Jahr und erhältst den letzten Tag im Februar des Folgejahres. So gesehen, wäre es korrekt. Abhilfe würde eine Prüfung auf Schaltjahr bringen, wobei man im Falle eines Schaltjahres den Tag noch um 1 erhöht.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#3

AW: IncYear mit 29.02.2004

  Alt 9. Mär 2012, 11:41
Wenn du ein Jahr addierst, addierst du ja 365 Tage. (außer das nächste Jahr ist ein Schaltjahr)
Addierst du also zum 29.02.2004 deine 365 Tage, erhälst du den 28.02.2005.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: IncYear mit 29.02.2004

  Alt 9. Mär 2012, 11:47
Hallo,

naja, die Funktion ruft intern IncMonths (oder so ähnlich) mit 12 auf ...

Progman:
Wir sind uns hier nicht so wirklich sicher.
Ich habe erst mal beides eingebaut, wird per Random umgeschaltet

Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#5

AW: IncYear mit 29.02.2004

  Alt 9. Mär 2012, 11:53
Wie schon einmal beschrieben, gehen die Jahresfunktionen von Delphi davon aus, dass ein Jahr 365,25 Tage hat, was ja falsch ist.
Siehe auch in der Hilfe für YearsBetween. Da musst du schon selber korrigieren.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IncYear mit 29.02.2004

  Alt 9. Mär 2012, 12:32
IncYear und InMonth, genauer IncAMonth geht nicht von 365,25 Tagen aus.
Dort werden indirekt die Schaltjhre korrekt behandelt. Geht der errechnete Tag aber über das Ende des Monats hinaus, so wird auf dessen Ende abgerundet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 13:42 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