Personal Professional Christian Stuff Photographs Miscellaneous Blog email Admin

 

TimeSincePlugin

This plugin is inspired by the WordPress TimeSince plugin. It which can be used to display a time difference in a human readable way, for instance to tell you that a topic has been published "2 days, 3 hours ago".

There are some problems with the original TimeSince plugin for WordPress. For example, it was only able to display a time diff with at most two expressions: "1day, 2hours ago" or "1 week ago" but not "1 day, 2 hours and 3 minutes". It even displays only one time expression if the difference does not occure in two adjacent time units (time units are year, month, week, day, hour, minute). If a time interval differs in week and hour the TimeSince WP plugin will only display the week difference and not the hours as week and hour are not adjacent. This is fixed in the TimeSincePlugin for TWiki. Several other parameters have been added to give a finer control of the format and the information displayed.

Syntax Rules

%TIMESINCE%, %TIMESINCE{[[from]="..."] [to="..."]}%

Without arguments the time since the current topic has been created will be displayed.

Argument Description
from="<time-experssion>" the starting time point, if ommited the current time
to="<time-expression>" the ending timepoint, if ommited the current time
units="1...7" number of time units to display, default 2; (example units="3": 2 months, 1 day and 3 minutes)
seconds="on,off" switch on/off second precision
null="<format-string>" to be displayed if the tim difference is null; defaults to "about now"
format="<format-string>" format of the output, defaults to "$time", other usefull settings format="$time ago", format="replied $time later", "format="$time after the incident"
negformat="<format-string>" use this format string if the time difference is negative

Time expressions can be specified in any of the following format:

  • 31 Dec 2001 - 23:59 (TWiki date)
  • 31 Dec 2001
  • 2001/12/31 23:59:59 (RCS date)
    also -, . instead of / in date, also . instead : in time
  • 2001/12/31 23:59
  • 2001/12/31
  • 2001-12-31T23:59:59Z (ISO date)
  • 2001-12-31T23:59:59+01:00
  • 2001-12-31T23:59Z
  • 2001-12-31T23:59+01:00
  • epoch seconds

Format strings may contain the following:

  • $time expands to the calculated time difference
  • $percnt$ expands to a % char
  • $dollar$ expands to a $ char
  • $n expands to a linefeed
  • $t expands to a tab space
  • $nop expands to the empty string

Examples

You type You get (simulated) You get (if installed)
%TIMESINCE% 1 day, 3 hours 18 years, 9 months
%TIMESINCE{format="topic was created $time ago" null="topic has just now been saved" units="4" }% topic was created 1 day, 3 hours, 8 minutes ago topic was created 18 years, 9 months, 2 weeks, 3 days ago
%TIMESINCE{"11 Sep 2001 - 8:45" units="7" seconds="on"}% 4 years, 2 months, 2 days, 5 hours, 50 minutes, 16 seconds 23 years, 2 months, 1 week, 6 days, 1 hour, 4 minutes, 8 seconds
%TIMESINCE{from="1955/04/18" to="1979-03-14" units="3"}% 23 years, 11 months, 6 days 23 years, 11 months, 6 days

Plugin Installation Instructions

  • Download the ZIP file
  • Unzip it in your twiki installation directory. Content:
    File: Description:
    data/TWiki/TimeSincePlugin.txt plugin topic
    lib/TWiki/Plugins/TimeSincePlugin.pm plugin perl module
    lib/TWiki/Plugins/TimeSincePlugin/Core.pm plugin core
  • (Dakar) Visit configure in your TWiki installation, and enable the plugin in the {Plugins} section.

Plugin Info

Plugin Author: TWiki:Main.MichaelDaum
Copyright ©: 2005-2008, Michael Daum http://michaeldaumconsulting.com
License: GPL (GNU General Public License)
Plugin Version: v1.10
Change History:  
03 Jan 2008: improved parsing time formats
13 Oct 2006: added negformat parameter
31 Aug 2006: added NO_PREFS_IN_TOPIC
27 Apr 2006: added lazy compilation
11 Nov 2005: Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.1
CPAN Dependencies: CPAN:Time::Local
Other Dependencies: none
Perl Version: 5.005
Benchmarks: GoodStyle nn%, FormattedSearch nn%, TimeSincePlugin nn%
Plugin Home: Foswiki:Plugins/TimeSincePlugin
Feedback: TWiki:Plugins/TimeSincePluginDev
Appraisal: TWiki:Plugins/TimeSincePluginAppraisal

-- TWiki:Main.MichaelDaum - 03 Jan 2008