perl-DateTime-Tiny - A date object, with as little code as possible

Property Value
Distribution openSUSE Leap 42.2
Repository openSUSE Oss all
Package name perl-DateTime-Tiny
Package version 1.04
Package release 12.1
Package architecture noarch
Package type rpm
Installed size 40.69 KB
Download size 22.43 KB
Official Mirror
*DateTime::Tiny* is a most prominent member of the the DateTime::Tiny
manpage suite of time modules.
It implements an extremely lightweight object that represents a datetime.
The Tiny Mandate
Many CPAN modules which provide the best implementation of a certain
concepts are very large. For some reason, this generally seems to be
about 3 megabyte of ram usage to load the module.
For a lot of the situations in which these large and comprehensive
implementations exist, some people will only need a small fraction of
the functionality, or only need this functionality in an ancillary
The aim of the Tiny modules is to implement an alternative to the large
module that implements a useful subset of their functionality, using as
little code as possible.
Typically, this means a module that implements between 50% and 80% of
the features of the larger module (although this is just a guideline),
but using only 100 kilobytes of code, which is about 1/30th of the
larger module.
The Concept of Tiny Date and Time
Due to the inherent complexity, Date and Time is intrinsically very
difficult to implement properly.
The arguably *only* module to implement it completely correct is the
DateTime manpage. However, to implement it properly the DateTime
manpage is quite slow and requires 3-4 megabytes of memory to load.
The challenge in implementing a Tiny equivalent to DateTime is to do so
without making the functionality critically flawed, and to carefully
select the subset of functionality to implement.
If you look at where the main complexity and cost exists, you will find
that it is relatively cheap to represent a date or time as an object,
but much much more expensive to modify, manipulate or convert the
As a result, *DateTime::Tiny* provides the functionality required to
represent a date as an object, to stringify the date and to parse it
back in, but does *not* allow you to modify the dates.
The purpose of this is to allow for date object representations in
situations like log parsing and fast real-time type work.
The problem with this is that having no ability to modify date limits
the usefulness greatly.
To make up for this, *if* you have the DateTime manpage installed, any
*DateTime::Tiny* module can be inflated into the equivalent the
DateTime manpage as needing, loading the DateTime manpage on the fly if
This is somewhat similar to DateTime::LazyInit, but unlike that module
*DateTime::Tiny* is not modifiable.
For the purposes of date/time logic, all *DateTime::Tiny* objects exist
in the "C" locale, and the "floating" time zone. This may be improved
in the future if a suitably tiny way of handling timezones is found.
When converting up to full the DateTime manpage objects, these local
and time zone settings will be applied (although an ability is provided
to override this).
In addition, the implementation is strictly correct and is intended to
be very easily to sub-class for specific purposes of your own.


Package Version Architecture Repository
perl-DateTime-Tiny - - -


Name Value
perl(:MODULE_COMPAT_5.18.2) -
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsLzma) <= 4.4.6-1


Name Value
perl(DateTime::Tiny) = 1.04
perl-DateTime-Tiny = 1.04-12.1


Type URL
Binary Package perl-DateTime-Tiny-1.04-12.1.noarch.rpm
Source Package perl-DateTime-Tiny-1.04-12.1.src.rpm

Install Howto

Install perl-DateTime-Tiny rpm package:

# zypper install perl-DateTime-Tiny

See Also

Package Description
perl-Debug-Trace-0.05-6.1.noarch.rpm Perl extension to trace subroutine calls
perl-Declare-Constraints-Simple-0.03-4.1.noarch.rpm Declarative Validation of Data Structures
perl-Devel-Caller-2.06-8.2.x86_64.rpm meatier versions of C<caller>
perl-Devel-CheckBin-0.04-5.1.noarch.rpm Check That a Command Is Available
perl-Devel-CheckCompiler-0.06-2.1.noarch.rpm Check the compiler's availability
perl-Devel-CheckLib-1.07-1.1.x86_64.rpm Check That a Library Is Available
perl-Devel-CheckOS-1.76-4.1.noarch.rpm Check What Os We're Running On
perl-Devel-Confess-0.008000-4.1.noarch.rpm Include stack traces on all warnings and errors
perl-Devel-CoreStack-1.3-309.1.x86_64.rpm try to generate a stack dump from a core file
perl-Devel-Cover-1.23-1.1.x86_64.rpm Code coverage metrics for Perl
perl-Devel-Cycle-1.12-4.1.noarch.rpm Find memory cycles in objects
perl-Devel-Declare-0.006018-2.2.x86_64.rpm Adding keywords to perl, in perl
perl-Devel-FindPerl-0.014-4.1.noarch.rpm Find the path to your perl
perl-Devel-GlobalDestruction-0.13-3.1.noarch.rpm Provides function returning the equivalent of
perl-Devel-Hide-0.0009-8.1.noarch.rpm Forces the unavailability of specified Perl modules (for testing)