[CODE] cool elapsed function

FlexibleLearning.com admin at FlexibleLearning.com
Tue Dec 18 03:38:45 EST 2012


> On 12/17/12 10:46 AM, Andre Garzia wrote:
>
> > the function is called elapsed and you can use it to figure out if a
> > certain amount of time passed between two timestamps.

> Jacquie wrote...
> I'd like a function that returns years, months, and days elapsed. I
> wrote a quick one that gets the number of days and divides by 30 to get
> months and days but it isn't very accurate. Since it's just for me I
> haven't gone back to fix it. Anyone have one already written?


>From The Scripter's Scrapbook...


FUNCTION calcAccAge tBirthdate,tAsOf
    IF tAsOf = "" THEN
        put the short date into tAsOf
    END IF
    convert tBirthdate to dateItems
    convert tAsOf to dateItems
    put item 1 of tAsOf - item 1 of tBirthdate into item 1 of tYrMthday
    put item 2 of tAsOf - item 2 of tBirthdate into item 2 of tYrMthDay
    put item 3 of tAsOf - item 3 of tBirthdate into item 3 of tYrMthday
    IF (item 3 of tYrMthDay < 0) THEN
        put tAsOf into tHowManyDays
        -- here's the cool bit. 0 in item 3 of date items effectively gives
you
        -- how many days in the month before
        put 0 into item 3 of tHowManyDays
        convert tHowManyDays to dateItems
        put item 3 of tHowManyDays + item 3 of tYrMthDay into item 3 of
tYrMthDay
        -- when days are - we need to subtact 1 from the month count
        put item 2 of tYrMthDay - 1 into item 2 of tYrMthDay
    END IF
    IF (item 2 of tYrMthDay < 0) THEN
        -- used to convert a negative month count into a positive number
        put 12 + item 2 of tYrMthDay into item 2 of tYrMthDay
        -- when month is negative need to subtact 1 from yr count
        put item 1 of tYrMthDay - 1 into item 1 of tYrMthDay
    END IF
    return tYrMthDay
END calcAccAge



Hugh Senior
FLCo





More information about the use-livecode mailing list