On 11/13/2013 9:37 AM, John Landmesser wrote:
On 13.11.2013 14:02, waldo kitty wrote:

We don't need to invent the wheel again, because others have solutions for that!

then why does this thread exist? O:)

I'll try to find what the usual way is to handle these problems: c++ Libraries
for example?!

i was being facetious thus the smiley ;)

i don't know as i do not have that book... but since you have the three
routines available, can you please post what they return for the two cases
above??

I don't have my test app anymore, changed it a lot last days to follow the
discussion, but perhaps you have a look at my post from 12.11.2013,  21:56

i know that feeling... i've taken to trying to save each in its own project so that i still have them to go back to to look over ;)

[...]
Bart delivered code that calculates 29.02.2000 to 28.02.2001 = 1 Year.
And that looks reasonable to me!

but it is not, not really... 29.02 only comes around once every four years...
29.02.leapyear to 28.02.leapyear+1 is one day short of a year... if you were
born on 29.02.1960, have you celebrated your birthday 13 or 53 times? :)

That depends on the country , you're living, see
http://en.wikipedia.org/wiki/February_29#Births

yeah, i've heard that, too... however, my experience shows that it is personal preference in many cases... i have several friends born on 29 Feb and some of them count every full year as their age but only celebrate on leapyears while others only count the leapyears... then there's the one oddball who celebrates every year but only counts the leapyears :lol:

Bart wrote:
I would actually say that in this particular case the diff is 1 Year...
(11 M + (28 days in feb in a non-leapyear = 1M) = 12M = 1 Y.
Soon we'll have working DateDiff function and my question will be answered in
the end!
Thanks guys!!

i can, however, agree with the reasoning bart has given above... do you agree
with it? is that what you want to see?

I'm not the one to decide, but i need a function which provides widely accepted
results!

as lex edmonds spoke of, there are two types of calculations... inclusive and exclusive where the ending day is counted or not... then there is also whether we are looking to use (strict) intervals or calendar intervals... if i have been keeping up, you are looking for calendar intervals (based on your post where 01.01.2000 to 01.08.2001 should be 1 year, 7 months)...

as far as "not one to decide"... on the contrary... you are the one to decide if a routine fits your purposes... as far as accepting a routine to be added to one of the libraries distributed with FPC and/or Lazarus, yeah, that's up to someone on those teams...

I'll google again.


which of the following is what you want to see??

2000-02-29 to 2001-02-28 is    0 yrs   11 mos   27 days (original)

2000-02-29 to 2001-02-28 is    0 yrs   11 mos   28 days  (bart's fix)

2000-02-29 to 2001-02-28 is    1 yrs    0 mos    0 days  (actually desired?)

so which one of these are you actually looking for? ;)


--
NOTE: No off-list assistance is given without prior approval.
      Please keep mailing list traffic on the list unless
      private contact is specifically requested and granted.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to