DateTime::Format::Human - Format times in "spoken language"


    use DateTime;
    use DateTime::Format::Human;

    my $dtfh = DateTime::Format::Human->new(
        evening => 19,
        night   => 23,

    my $spoken_time = $dtfh->format_datetime( DateTime->now );

    print "The time is now $spoken_time\n";


This module provides a "vague" rendering of the time into natural language; it's originally intended for text-to-speech applications and other speech-based interfaces.


Import Parameters

This module accepts no arguments to it's import method and exports no symbols.



  • new(...)

    Accepts a optional hash and returns a DateTime::Format::Human object.

        my $dtfh = DateTime::Format::Human->new(
            evening => 19,
            night   => 23,
    • evening

      Sets the hour at which afternoon turns to evening.

      This key defaults to the value of 18.

    • night

      Sets the hour at which evening turns to night.

      This key defaults to the value of 22.

Object Methods

  • format_datetime

    Accepts a DateTime object.

    Returns a string representing the time in spoken human language.


Simon Cozens (SIMON) who wrote Time::Human from which this module is a genetic descendant.

Everyone at the DateTime Asylum.


Support for this module is provided via the email list. See for more details


Joshua Hoblitt <>


Copyright (C) 2004 Joshua Hoblitt. All rights reserved. Sections of the code and documentation are Copyright (C) 2001 Simon Cozens.

This program is free software; you can redistribute 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, or in perlartistic and perlgpl Pods as supplied with Perl 5.8.1 and later.

SEE ALSO mailing list