logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

HTML::Microformats::Datatype::Duration - floating periods of time

Author

       Toby Inkster <tobyink@cpan.org>.

Bugs

       Please report any bugs to <http://rt.cpan.org/>.

Description

Constructors
       "$d = HTML::Microformats::Datatype::Duration->new($duration)"
           Creates a new HTML::Microformats::Datatype::Duration object.

           $duration is a DateTime::Duration object.

       "$d = HTML::Microformats::Datatype::Duration->parse($string, $elem, $context)"
           Creates a new HTML::Microformats::Datatype::Duration object.

           $string  is  a duration represented in ISO 8601 format, for example: 'P1Y' or 'PT2H29M58.682S'. $elem
           is the XML::LibXML::Element being parsed. $context is the document context.

           The standard way of representing durations in Microformats is as an ISO 8601 string:

            <abbr class="duration" title="P4DT4H">4 and a half days</abbr>

           This constructor also supports a number of experimental microformat duration patterns.  ISO-31  class
           names are supported:

            <div class="duration">
             <span claa="d">4</span> and
             <abbr title="12" class="h">a half</abbr> days.
            </div>

           As are metric/SI measures (in seconds):

            <span class="duration">124 s</span>
            <span class="duration">124</span> seconds

           Or  using  an  hMeasure  microformat  with no 'item' property, the 'type' property either absent or a
           case-insensitive match of 'duration' and a unit  property  of  's'/'sec'/'seconds',  'min'/'minutes',
           'h'/'hours' or 'd'/'days'. For example:

            <span class="duration hmeasure">
             <b class="unit">Days</b>: <span class="num">4.5</span>
            </span>

   PublicMethods
       "$d->duration"
           Returns a DateTime::Duration object.

       "$d->to_string"
           Returns an ISO 8601 formatted string representing the duration.

       "$d->datatype"
           Returns an the RDF datatype URI representing the data type of this literal.

   Functions
       "compare($a, $b)"
           Compares durations $a and $b. Return values are as per 'cmp' (see perlfunc).

           Note  that there is not always a consistent answer when comparing durations. 30 days is longer than a
           month in February, but shorter than a month in January.  Durations  are  compared  as  if  they  were
           applied to the current datetime (i.e. now).

           This function is not exported by default.

           Can also be used as a method:

            $a->compare($b);

       "$c = add($a, $b)"
           Adds two durations together.

           This function is not exported by default.

           Can also be used as a method:

            $c = $a->add($b);

       "$c = subtract($a, $b)"
           Subtracts duration $b from $a.

           This function is not exported by default.

           Can also be used as a method:

            $c = $a->subtract($b);

Disclaimer Of Warranties

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT  ANY  EXPRESS  OR  IMPLIED  WARRANTIES,  INCLUDING,  WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

perl v5.32.1                                       2021-09-12             HTML::Microform...atype::Duration(3pm)

Name

       HTML::Microformats::Datatype::Duration - floating periods of time

See Also

       HTML::Microformats, HTML::Microformats::Datatype, DateTime::Duration.

Synopsis

        my $duration = HTML::Microformats::Datatype::Duration->new($d);
        print "$duration\n";

See Also