Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Check out Time::Piece, which ships with Time::Seconds. Also check out Date::ICal, which ships with Date::ICal::Duration.

    All achieve the same thing.
    • I seem to recall that both Date::Calc and Date::Manip might also do the same thing. Could be wrong though as it's been a while since I've looked...
    • Oh, I know about Time::Seconds (I'm a big advocate of using Time::Piece). This isn't my attempt to replace it, just something that I was playing around with that I thought I'd share.

      There are differences between the two module tho'. Time::Seconds uses exported symbolic constansts where Time::Period uses objects. Also adding one year or one month to a date using Time::Seconds will add a fixed number of seconds whereas Time::Period will really add one year or one month.

      Didn't know about Date::ICal::Durati

      • Yep, this is a rather fundamental flaw in Time::Seconds (though there will always be issues with adding real durations too - like what to do adding a month at March 31st). I have been thinking seriously about re-writing Time::Piece entirely in terms of Date::ICal to try and fix this flaw.
  • Is that one month, or one minute?
    • Yeah, it's really unhelpful that "month" and "minute" both beign with "m" :(

      To get round that I arbitrarily decided that lower case letters represent units of time that are a day or bigger and uppercase letters represent untis of time that are smaller than a day. Another way of putting it is that lower case letters represent dates and upper case letters represent times.

      So '1m' is one month. '1M' is one minute.

  • Cool, now I don't have to chase you about what you're talking about, only how long.

    Niggles on the module:

    • print Time::Period->new("1y") - Time::Period->new("1S") returns "1y, 1S" which is obviously wrong.
    • print Time::Duration->new("24H")*2 does not DWIM, it complains about *, but I see that's on your TODO
    • I can't understand what the codes doing very well, you've not written a single comment ;-)
    • Cool, now I don't have to chase you about what you're talking about, only how long.

      Can I have half an hour?

      • print Time::Period->new("1y") - Time::Period->new("1S") returns "1y, 1S" which is obviously wrong.
      • print Time::Duration->new("24H")*2 does not DWIM, it complains about *, but I see that's on your TODO

      Addition is the only operation that is currently documented. Therefore it's the only one you should expect to work as documented :)

      • I can't understand what the codes doing very well,