DateTime::Span man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

DateTime::Span(3)     User Contributed Perl Documentation    DateTime::Span(3)

NAME
       DateTime::Span - Datetime spans

SYNOPSIS
	   use DateTime;
	   use DateTime::Span;

	   $date1 = DateTime->new( year => 2002, month => 3, day => 11 );
	   $date2 = DateTime->new( year => 2003, month => 4, day => 12 );
	   $set2 = DateTime::Span->from_datetimes( start => $date1, end => $date2 );
	   #  set2 = 2002-03-11 until 2003-04-12

	   $set = $set1->union( $set2 );	 # like "OR", "insert", "both"
	   $set = $set1->complement( $set2 );	 # like "delete", "remove"
	   $set = $set1->intersection( $set2 );	 # like "AND", "while"
	   $set = $set1->complement;		 # like "NOT", "negate", "invert"

	   if ( $set1->intersects( $set2 ) ) { ...  # like "touches", "interferes"
	   if ( $set1->contains( $set2 ) ) { ...    # like "is-fully-inside"

	   # data extraction
	   $date = $set1->start;	   # first date of the span
	   $date = $set1->end;		   # last date of the span

DESCRIPTION
       "DateTime::Span" is a module for handling datetime spans, otherwise
       known as ranges or periods ("from X to Y, inclusive of all datetimes in
       between").

       This is different from a "DateTime::Set", which is made of individual
       datetime points as opposed to a range. There is also a module
       "DateTime::SpanSet" to handle sets of spans.

METHODS
       ·   from_datetimes

	   Creates a new span based on a starting and ending datetime.

	   A 'closed' span includes its end-dates:

	      $span = DateTime::Span->from_datetimes( start => $dt1, end => $dt2 );

	   An 'open' span does not include its end-dates:

	      $span = DateTime::Span->from_datetimes( after => $dt1, before => $dt2 );

	   A 'semi-open' span includes one of its end-dates:

	      $span = DateTime::Span->from_datetimes( start => $dt1, before => $dt2 );
	      $span = DateTime::Span->from_datetimes( after => $dt1, end => $dt2 );

	   A span might have just a beginning date, or just an ending date.
	   These spans end, or start, in an imaginary 'forever' date:

	      $span = DateTime::Span->from_datetimes( start => $dt1 );
	      $span = DateTime::Span->from_datetimes( end => $dt2 );
	      $span = DateTime::Span->from_datetimes( after => $dt1 );
	      $span = DateTime::Span->from_datetimes( before => $dt2 );

	   You cannot give both a "start" and "after" argument, nor can you
	   give both an "end" and "before" argument.  Either of these
	   conditions will cause the "from_datetimes()" method to die.

	   To summarize, a datetime passed as either "start" or "end" is
	   included in the span.  A datetime passed as either "after" or
	   "before" is excluded from the span.

       ·   from_datetime_and_duration

	   Creates a new span.

	      $span = DateTime::Span->from_datetime_and_duration(
		  start => $dt1, duration => $dt_dur1 );
	      $span = DateTime::Span->from_datetime_and_duration(
		  after => $dt1, hours => 12 );

	   The new "end of the set" is open by default.

       ·   clone

	   This object method returns a replica of the given object.

       ·   set_time_zone( $tz )

	   This method accepts either a time zone object or a string that can
	   be passed as the "name" parameter to "DateTime::TimeZone->new()".
	   If the new time zone's offset is different from the old time zone,
	   then the local time is adjusted accordingly.

	   If the old time zone was a floating time zone, then no adjustments
	   to the local time are made, except to account for leap seconds.  If
	   the new time zone is floating, then the UTC time is adjusted in
	   order to leave the local time untouched.

       ·   duration

	   The total size of the set, as a "DateTime::Duration" object, or as
	   a scalar containing infinity.

	   Also available as "size()".

       ·   start

       ·   end

	   First or last dates in the span.

	   It is possible that the return value from these methods may be a
	   "DateTime::Infinite::Future" or a "DateTime::Infinite::Past"xs
	   object.

	   If the set ends "before" a date $dt, it returns $dt. Note that in
	   this case $dt is not a set element - but it is a set boundary.

       ·   start_is_closed

       ·   end_is_closed

	   Returns true if the first or last dates belong to the span ( begin
	   <= x <= end ).

       ·   start_is_open

       ·   end_is_open

	   Returns true if the first or last dates are excluded from the span
	   ( begin < x < end ).

       ·   union

       ·   intersection

       ·   complement

	   Set operations may be performed not only with "DateTime::Span"
	   objects, but also with "DateTime::Set" and "DateTime::SpanSet"
	   objects.  These set operations always return a "DateTime::SpanSet"
	   object.

	       $set = $span->union( $set2 );	     # like "OR", "insert", "both"
	       $set = $span->complement( $set2 );    # like "delete", "remove"
	       $set = $span->intersection( $set2 );  # like "AND", "while"
	       $set = $span->complement;	     # like "NOT", "negate", "invert"

       ·   intersects

       ·   contains

	   These set functions return a boolean value.

	       if ( $span->intersects( $set2 ) ) { ...	# like "touches", "interferes"
	       if ( $span->contains( $dt ) ) { ...    # like "is-fully-inside"

	   These methods can accept a "DateTime", "DateTime::Set",
	   "DateTime::Span", or "DateTime::SpanSet" object as an argument.

SUPPORT
       Support is offered through the "datetime@perl.org" mailing list.

       Please report bugs using rt.cpan.org

AUTHOR
       Flavio Soibelmann Glock <fglock@pucrs.br>

       The API was developed together with Dave Rolsky and the DateTime
       Community.

COPYRIGHT
       Copyright (c) 2003-2006 Flavio Soibelmann Glock. All rights reserved.
       This program is free software; you can distribute it and/or modify it
       under the same terms as Perl itself.

       The full text of the license can be found in the LICENSE file included
       with this module.

SEE ALSO
       Set::Infinite

       For details on the Perl DateTime Suite project please see
       <http://datetime.perl.org>.

perl v5.14.1			  2011-07-20		     DateTime::Span(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net