Current File : //proc/self/root/usr/share/doc/perl-Template-Toolkit-2.24/modules/Template/Plugin/Date.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<title>Template::Plugin::Date</title>
<link rel="stylesheet" type="text/css" href="../../../css/blue.css" title="Clear Blue">
<link rel="alternate stylesheet" type="text/css" href="../../../css/orange.css" title="Clear Orange">
<link rel="alternate stylesheet" type="text/css" href="../../../css/green.css" title="Clear Green">
<link rel="alternate stylesheet" type="text/css" href="../../../css/purple.css" title="Clear Purple">
<link rel="alternate stylesheet" type="text/css" href="../../../css/grey.css" title="Clear Grey">
<link rel="alternate stylesheet" type="text/css" href="../../../css/print.css" title="Print">
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="../../../css/ie6.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="../../../css/ie7.css" />
<![endif]-->
<link rel="stylesheet" type="text/css" href="../../../css/print.css" media="print">
<script type="text/javascript" src="../../../js/tt2.js"></script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="author" content="Andy Wardley">
</head>
<body id="body">
<div id="layout">
<div id="header">
<a href="../../../index.html" id="logo" alt="" title="Click for the Home Page"><span class="alt">TT2 Home Page</span></a>
<ul id="trail">
<li><a href="../../../modules/index.html">Modules</a></li>
<li><a href="../../../modules/Template/index.html">Template::*</a></li>
<li><a href="../../../modules/Template/Plugin/index.html">Plugin::*</a></li>
<li class="last"><a href="../../../modules/Template/Plugin/Date.html">Date.pm</a></li>
</ul>
<div class="controls">
<a href="#" class="menu show" onclick="widescreen_off(); return false" title="Show Menu">
<span class="about">Click to view the menu. It's very nice.</span>
</a>
<a href="#" class="menu hide" onclick="widescreen_on(); return false" title="Hide Menu">
<span class="about">Click to hide the menu and go all widescreen!</span>
</a>
<div class="pager">
<a href="../../../modules/Template/Plugin/Datafile.html" title="Template::Plugin::Datafile" class="go back">Back<span class="about"><h4>Template::Plugin::Datafile</h4>Plugin to construct records from a simple data file</span></a>
<a href="../../../modules/Template/Plugin/index.html" title="Template::Plugin::* Modules" class="go up">Up<span class="about"><h4>Template::Plugin::* Modules</h4></span></a>
<a href="../../../modules/Template/Plugin/Directory.html" title="Template::Plugin::Directory" class="go next">Next<span class="about"><h4>Template::Plugin::Directory</h4>Plugin for generating directory listings</span></a>
</div>
</div>
<h1 class="headline">Template::Plugin::Date</h1>
<h2 class="subhead">Plugin to generate formatted date strings</h1>
</div>
<div id="page">
<div id="sidebar">
<a href="../../../index.html" id="logo"></a>
<div id="menu">
<ul class="menu">
<li class="l0 first"><a href="../../../manual/index.html">Manual</a></li>
<li class="l0"><a href="../../../modules/index.html" class="warm">Modules</a></li>
<li class="l1"><a href="../../../modules/Template.html">Template.pm</a></li>
<li class="l1"><a href="../../../modules/Template/index.html" class="warm">Template::*</a></li>
<li class="l2"><a href="../../../modules/Template/Base.html">Base.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Config.html">Config.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Constants.html">Constants.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Context.html">Context.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Directive.html">Directive.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Document.html">Document.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Exception.html">Exception.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Filters.html">Filters.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Grammar.html">Grammar.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Iterator.html">Iterator.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Namespace/index.html">Namespace::*</a></li>
<li class="l2"><a href="../../../modules/Template/Parser.html">Parser.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugin.html">Plugin.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugin/index.html" class="warm">Plugin::*</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Assert.html">Assert.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/CGI.html">CGI.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Datafile.html">Datafile.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Date.html" class="warm">Date.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Directory.html">Directory.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Dumper.html">Dumper.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/File.html">File.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Filter.html">Filter.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Format.html">Format.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/HTML.html">HTML.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Image.html">Image.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Iterator.html">Iterator.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Math.html">Math.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Pod.html">Pod.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Procedural.html">Procedural.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Scalar.html">Scalar.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/String.html">String.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Table.html">Table.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/URL.html">URL.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/View.html">View.pm</a></li>
<li class="l3"><a href="../../../modules/Template/Plugin/Wrap.html">Wrap.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Plugins.html">Plugins.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Provider.html">Provider.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Service.html">Service.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Stash.html">Stash.pm</a></li>
<li class="l2"><a href="../../../modules/Template/Stash/index.html">Stash::*</a></li>
<li class="l2"><a href="../../../modules/Template/Test.html">Test.pm</a></li>
<li class="l2"><a href="../../../modules/Template/VMethods.html">VMethods.pm</a></li>
<li class="l2"><a href="../../../modules/Template/View.html">View.pm</a></li>
<li class="l0"><a href="../../../tools/index.html">Tools</a></li>
<li class="l0"><a href="../../../tutorial/index.html">Tutorial</a></li>
<li class="l0 last"><a href="../../../faq/index.html">FAQ</a></li>
</ul>
<div class="foot"></div>
</div>
</div>
<div id="content">
<div class="section">
<div class="head">
<h1 id="contents" onclick="switch_section(this)" title="Click title to show/hide section content.">Contents</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<ul class="toc">
<li class=""><a href="#SYNOPSIS">SYNOPSIS</a></li>
<li class=""><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li class=""><a href="#AUTHORS">AUTHORS</a></li>
<li class=""><a href="#COPYRIGHT">COPYRIGHT</a></li>
<li class=""><a href="#SEE_ALSO">SEE ALSO</a></li>
</ul>
</div>
</div>
<div class="pod">
<div class="section">
<div class="head">
<h1 id="SYNOPSIS" onclick="switch_section(this)" title="Click title to show/hide section content.">SYNOPSIS</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<pre><span class="tt">[% USE date %]</span>
# use current time and default format
<span class="tt">[% date.format %]</span>
# specify time as seconds since epoch
# or as a 'h:m:s d-m-y' or 'y-m-d h:m:s' string
<span class="tt">[% date.format(960973980) %]</span>
<span class="tt">[% date.format('4:20:36 21/12/2000') %]</span>
<span class="tt">[% date.format('2000/12/21 4:20:36') %]</span>
# specify format
<span class="tt">[% date.format(mytime, '%H:%M:%S') %]</span>
# specify locale
<span class="tt">[% date.format(date.now, '%a %d %b %y', 'en_GB') %]</span>
# named parameters
<span class="tt">[% date.format(mytime, format = '%H:%M:%S') %]</span>
<span class="tt">[% date.format(locale = 'en_GB') %]</span>
<span class="tt">[% date.format(time = date.now,
format = '%H:%M:%S',
locale = 'en_GB) %]</span>
# specify default format to plugin
<span class="tt">[% USE date(format = '%H:%M:%S', locale = 'de_DE') %]</span>
<span class="tt">[% date.format %]</span>
...</pre>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="DESCRIPTION" onclick="switch_section(this)" title="Click title to show/hide section content.">DESCRIPTION</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
The <code>Date</code> plugin provides an easy way to generate formatted
time and date strings by delegating to the <code>POSIX</code>
<code>strftime()</code> routine.
</p>
<p>
The plugin can be loaded via the familiar USE directive.
</p>
<pre><span class="tt">[% USE date %]</span></pre>
<p>
This creates a plugin object with the default name of
'<code>date</code>'. An alternate name can be specified as such:
</p>
<pre><span class="tt">[% USE myname = date %]</span></pre>
<p>
The plugin provides the <code>format()</code> method which accepts a time
value, a format string and a locale name. All of these parameters are
optional with the current system time, default format ('<code>%H:%M:%S
%d-%b-%Y</code>') and current locale being used respectively, if
undefined. Default values for the time, format and/or locale may be
specified as named parameters in the <code>USE</code> directive.
</p>
<pre><span class="tt">[% USE date(format = '%a %d-%b-%Y', locale = 'fr_FR') %]</span></pre>
<p>
When called without any parameters, the <code>format()</code> method
returns a string representing the current system time, formatted by
<code>strftime()</code> according to the default format and for the
default locale (which may not be the current one, if locale is set in the
<code>USE</code> directive).
</p>
<pre><span class="tt">[% date.format %]</span></pre>
<p>
The plugin allows a time/date to be specified as seconds since the epoch,
as is returned by <code>time()</code>.
</p>
<pre>File last modified: <span class="tt">[% date.format(filemod_time) %]</span></pre>
<p>
The time/date can also be specified as a string of the form <code>h:m:s
d/m/y</code> or <code>y/m/d h:m:s</code>. Any of the characters : / - or
space may be used to delimit fields.
</p>
<pre><span class="tt">[% USE day = date(format => '%A', locale => 'en_GB') %]</span>
<span class="tt">[% day.format('4:20:00 9-13-2000') %]</span></pre>
<p>
Output:
</p>
<pre>Tuesday</pre>
<p>
A format string can also be passed to the <code>format()</code> method,
and a locale specification may follow that.
</p>
<pre><span class="tt">[% date.format(filemod, '%d-%b-%Y') %]</span>
<span class="tt">[% date.format(filemod, '%d-%b-%Y', 'en_GB') %]</span></pre>
<p>
A fourth parameter allows you to force output in GMT, in the case of
seconds-since-the-epoch input:
</p>
<pre><span class="tt">[% date.format(filemod, '%d-%b-%Y', 'en_GB', 1) %]</span></pre>
<p>
Note that in this case, if the local time is not GMT, then also
specifying '<code>%Z</code>' (time zone) in the format parameter will
lead to an extremely misleading result.
</p>
<p>
Any or all of these parameters may be named. Positional parameters should
always be in the order <code>($time, $format, $locale)</code>.
</p>
<pre><span class="tt">[% date.format(format => '%H:%M:%S') %]</span>
<span class="tt">[% date.format(time => filemod, format => '%H:%M:%S') %]</span>
<span class="tt">[% date.format(mytime, format => '%H:%M:%S') %]</span>
<span class="tt">[% date.format(mytime, format => '%H:%M:%S', locale => 'fr_FR') %]</span>
<span class="tt">[% date.format(mytime, format => '%H:%M:%S', gmt => 1) %]</span>
...etc...</pre>
<p>
The <code>now()</code> method returns the current system time in seconds
since the epoch.
</p>
<pre><span class="tt">[% date.format(date.now, '%A') %]</span></pre>
<p>
The <code>calc()</code> method can be used to create an interface to the
<code>Date::Calc</code> module (if installed on your system).
</p>
<pre><span class="tt">[% calc = date.calc %]</span>
<span class="tt">[% calc.Monday_of_Week(22, 2001).join('/') %]</span></pre>
<p>
The <code>manip()</code> method can be used to create an interface to the
<code>Date::Manip</code> module (if installed on your system).
</p>
<pre><span class="tt">[% manip = date.manip %]</span>
<span class="tt">[% manip.UnixDate("Noon Yesterday","%Y %b %d %H:%M") %]</span></pre>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="AUTHORS" onclick="switch_section(this)" title="Click title to show/hide section content.">AUTHORS</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
Thierry-Michel Barral wrote the original plugin.
</p>
<p>
Andy Wardley provided some minor fixups/enhancements, a test script and
documentation.
</p>
<p>
Mark D. Mills cloned <code>Date::Manip</code> from the
<code>Date::Calc</code> sub-plugin.
</p>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="COPYRIGHT" onclick="switch_section(this)" title="Click title to show/hide section content.">COPYRIGHT</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
Copyright (C) 2000-2007 Thierry-Michel Barral, Andy Wardley.
</p>
<p>
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
</p>
</div>
</div>
<div class="section">
<div class="head">
<h1 id="SEE_ALSO" onclick="switch_section(this)" title="Click title to show/hide section content.">SEE ALSO</h1>
<a href="#body" class="top" title="Back up to the top of the page" >Top</a>
</div>
<div class="body">
<p>
<a href="../../../modules/Template/Plugin.html">Template::Plugin</a>, <a
href="http://search.cpan.org/search?query=POSIX&mode=all">POSIX</a>
</p>
</div>
</div>
</div></div>
<br class="clear" />
<div class="pageinfo">
<a href="http://template-toolkit.org/docs/modules/Template/Plugin/Date.html">http://template-toolkit.org/docs/modules/Template/Plugin/Date.html</a>
</div>
</div>
<div id="footer">
<a href="http://opensource.org/" class="osi"></a>
<div class="controls">
<div class="pager">
<a href="../../../modules/Template/Plugin/Datafile.html" title="Template::Plugin::Datafile" class="go back">Back<span class="about"><h4>Template::Plugin::Datafile</h4></span></a>
<a href="../../../modules/Template/Plugin/index.html" title="Template::Plugin::* Modules" class="go up">Up<span class="about"><h4>Template::Plugin::* Modules</h4></span></a>
<a href="../../../modules/Template/Plugin/Directory.html" title="Template::Plugin::Directory" class="go next">Next<span class="about"><h4>Template::Plugin::Directory</h4></span></a>
</div>
</div>
<div class="copyright">
Copyright © 1996-2012 <a href="http://wardley.org/">Andy Wardley</a>. All Rights Reserved.
</div>
<div class="licence">
The <a href="http://template-toolkit.org/">Template Toolkit</a> is <a href="http://opensource.org/">Open Source</a> software.
You can redistribute and/or modify it under the terms of the <a href="http://www.opensource.org/licenses/gpl-license.php">GNU Public Licence</a>
or the <a href="http://www.opensource.org/licenses/artistic-license.php">Perl Artistic Licence</a>.
</div>
</div>
<div id="palette">
<ul>
<li class="first"><a href="#" class="blue" onclick="set_style('Clear Blue')"></a></li>
<li><a href="#" class="orange" onclick="set_style('Clear Orange')"></a></li>
<li><a href="#" class="green" onclick="set_style('Clear Green')"></a></li>
<li><a href="#" class="purple" onclick="set_style('Clear Purple')"></a></li>
<li><a href="#" class="grey" onclick="set_style('Clear Grey')"></a></li>
</ul>
</div>
</div> </body>
</html>