Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Date::Calc

by ishmael (Novice)
on Jun 13, 2001 at 12:25 UTC ( #88022=note: print w/replies, xml ) Need Help??


in reply to Date::Calc

This is a great module. The comment on performance and Perl is well placed. This module will not be slowing down your code any more than the Perl interpreter itself.

One useful additional feature that this module would benefit from would be

  • given a date, what week of the month is it on? for example, Jun 13th 2001 lies in the 3rd week of June 2001.
  • given a date, what is the ordinal of its day of the week in the month? for example, Jun 13th 2001 is the 2nd wednesday of June 2001
  • given two dates, calculate the difference in business days. for example, (Jun 13th 2001)-(Jun 8th 2001) = 3 business days
  • likewise, add n business days to any date
  • better support for unix timestamps (epoch time) values

However, these can be fairly easily implemented within the framework of the module. I ishmael

Replies are listed 'Best First'.
Re^2: Date::Calc
by Anonymous Monk on Aug 12, 2009 at 12:27 UTC
    (1) given a date, what week of the month is it on? for example, Jun 13th 2001 lies in the 3rd week of June 2001.

    See the recipes section of the Date::Calc manual page, recipe #5: "How do I calculate the number of the week of month the current date lies in?"

    (2) given a date, what is the ordinal of its day of the week in the month? for example, Jun 13th 2001 is the 2nd wednesday of June 2001

    See the recipes section of the Date::Calc manual page, recipe #6: "How do I calculate whether a given date is the 1st, 2nd, 3rd, 4th or 5th of that day of week in the given month?"

    (3) given two dates, calculate the difference in business days. for example, (Jun 13th 2001)-(Jun 8th 2001) = 3 business days

    See method "delta_workdays()" in Date::Calendar

    (4) likewise, add n business days to any date

    See method "add_delta_workdays()" in Date::Calendar

    (5) better support for unix timestamps (epoch time) values

    See functions Gmtime(), Localtime(), Mktime(), Timezone(), Date_to_Time() and Time_to_Date() in Date::Calc

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://88022]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (1)
As of 2023-09-29 04:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?