DateTimePlugin

Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

DateTimePlugin

EnglishPortugês
This plugin is an extension of the TWiki variable %GMTIME{"format"}% that allows to show dates and hours with free formatting (with extra options), Internationalization and with a displacement of relative time.

With DateTimePlugin you can write:
In five days will be: %DATETIME{incdays="5"}%.
and will have a always coherent phrase.

This plugin was born by the necessity of making searches with dates in the relative past, but I believe that other people will be able use it for several other cases.

Esse plugin é uma extensão da variável TWiki %GMTIME{"format"}% que permite apresentar datas e horas com formatação livre (com opções extras), Internacionalização e com um deslocamento de tempo relativo.

Com DateTimePlugin você pode escrever:
Daqui a 5 dias será: %DATETIME{incdays="5"}%.
e terá uma frase sempre coerente.

Esse plugin nasceu por necessidade de se fazer buscas com datas no passado relativo, mas acredito que outras pessoas poderão usa-lo para vários outros casos.


Syntax Rules

Parameters
Parameter:Description:Descrição:
"format" It defines how the date and hour will be represented. Define como a data e hora será representada.
format="format" The same as before. O memo que o anterior.
date="a date" It indicates the base date to be formatted and incremented. If not defined the value is the current date and hour.

(Not implemented yet)

The input can be in the paterns:

Indica a data base para ser formatada e incrementada. Se não definido o valor é a data e hora atual.

(Não implementado ainda)

A entrada pode ser nos padões:

  • TWiki: 2 Jul 1823
  • TWiki with hora: 2 Jul 1823 - 14:15:32 (the seconds and the hyphen are optional)
  • Unix integer Timestamp: 1044147759
  • ISO Timestamp: 1823-07-02T14:15Z
  • RCS Timestamp: 1823/07/02 14:15:32
incdays="#" Increase the day. Incremententa o dia.
inchours="#" Increase the hour. Incremententa o hora.
incmins="#" Increase the minutes. Incremententa os minutos.
incsecs="#" Increase the seconds. Incremententa os segundos.
(# is an integer value, and can be negative)

Formating Variables
Variable:Expanded to:Convertida para: Exemple:
$day The day of the month O dia do mês. 2
$day2 The day of the month with two digits O dia do mês com dois dígitos. 02
$mo The number of the month with two digits. O número do mês com dois dígitos. 07
$month The summarized name of the month in English. O nome resumido do mês em inglês. Jul
$i_month The summarized and internationalized name of the month. O nome resumido do mês internacionalizado. Jul
$lmonth The extensive name of the month in English. O nome extenso do mês em inglês. July
$i_lmonth The extensive and internationalized name of the month. O nome extenso do mês em internacionalizado. Julho
$year The 4 digit year. O ano em 4 digitos. 1823
$ye The 2 digit year. (Care with the century...) O ano em 2 digitos. (Cuidado com o século...) 23
$century The Century number. (Not implemented yet) O número do século. (Não implentado ainda) 19
$romancentury The Roman Century number. (Not implemented yet) O número do século em romanos. (Não implentado ainda) IX
$wday The summarized name of the day of the week in English. O nome resumido do dia da semana em inglês. Wed
$i_wday The summarized and internationalized name of the day of the week in English. O nome resumido do dia da semana internacionalizado. Qua
$lwday The extensive name of the day of the week in English. O nome extenso do dia da semana em inglês. Wednesday
$i_lwday The extensive and internationalized name of the day of the week in English. O nome extenso do dia da semana internacionalizado. Quarta-feira
$yday The day of the year. O dia do ano. 183
$hours
or $hour
The hour in 2 digits. A hora em 2 dígitos. 14
$minutes
or $min
The minutes in 2 digits Os minutos em 2 dígitos 15
$seconds
or $sec
The seconds in 2 digits. Os segundos em 2 dígitos. 32
$iso Predefined format, ISO Timestamp
$year-$mo-$day2T$hour:$minZ
Formato predefinido, ISO Timestamp
$year-$mo-$day2T$hour:$minZ
1823-07-02T14:15:32Z
$rcs Predefined format, RCS Timestamp
$year/$mo/$day2 $hour:$min:$sec
Formato predefinido, RCS Timestamp
$year/$mo/$day2 $hour:$min:$sec
1823/07/02 14:15:32
(The examples are to the date 2 Jul 1823 - 14:15:32 and the i18n is to portuguese)

Examples

Yesterday was %DATETIME{"$day $month $year" incdays="-1"}%. -> Yesterday was Sunday, 8 11nth 2019.

(Baianês) De hoje a oito será %DATETIME{"$day de $i_lmonth" incdays="7"}%. -> De hoje a oito será 16 de Dezembro.

Using ShortHand and Variables:

%DATETIME{"What [[IGonnaDoIn$year$mo$day2][I gonna do tomorrow]]... %BR% $lwday, $day $lmonth." incdays="1"}% ->
What I gonna do tomorrow?...
Tuesday, 10 December.

Must be some thing like this:
What I gonna do tomorrow?...
Wednesday, 28 July.

  • Steps:
    1. Expand variables finded on format string;
    2. Expand format date variables;
    3. Convert ShortHand notation.

All the variables for now:

  • day: 9
  • day2: 09
  • mo: 11
  • month: 11nth
  • i_month: Dez
  • lmonth: December
  • i_lmonth: Dezembro
  • year: 2019
  • ye: 19
  • century: (Not implemented yet)
  • romancentury: (Not implemented yet)
  • wday: Mon
  • i_wday: Seg
  • lwday: Monday
  • i_lwday: Segunda-feira
  • yday: 342
  • hours: 03
  • minutes: 29
  • seconds: 04

DateTimePlugin Global Settings

EnglishPortugês
Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%.

For the internacionalization, insert the names of the months and weekdays separated by one white space.

Configurações de plugins são guardadas como variáveis de preferências. Para referênciar uma configuração de plugin escreva %<plugin>_<configuração>%, por examplo, %INTERWIKIPLUGIN_SHORTDESCRIPTION%.

Para a internacionalização, insira os nomes dos meses e dias da semana separados por um espaço em branco.

  • The Internacionalization Setings:
    • Set monthLongNames = Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro
    • Set monthShortNames = Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
    • Set weekdayLongNames = Domingo Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira Sabado
    • Set weekdayShortNames = Dom Seg Ter Qua Qui Sex Sab

  • Localize my clock:
    • Set myGreenwich = -3

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Extends the %GMTIME{"format"}% variable with more options and internationalization suport.

  • Set DEBUG to 1 to get debug messages in data/debug.txt. Default: 0
    • Set DEBUG = 0

ToDo

A lista de a-fazeres para a versão 1.0 estável:

  1. Corrigir o dia da semana quando o mês e/ou o ano é incrementado.
  2. Implementar a variável de formatação $roman
  3. Implementar a variável de formatação $romancentury
  4. Inplementar a entrada de Data. ( efetivar o agumento date="a date" )

Plugin Installation Instructions

EnglishPortugês
  • Download the ZIP file from the Plugin web (see below)
  • Unzip DateTimePlugin.zip in your twiki installation directory.
    Contents:
    File: Description:
    data/TWiki/DateTimePlugin.txt Plugin topic
    lib/TWiki/Plugins/DateTimePlugin.pm Plugin Perl module
  • Test if the plugin is correctly installed: you should see rendered dates on the example session.
  • Baixe o arquivo ZIP da web Plugin (veja abaixo)
  • Descompacte DateTimePlugin.zip no seu diretório de instalação do twiki.
    Conteudo:
    Arquivo: Descrição:
    data/TWiki/DateTimePlugin.txt Tópico do plugin
    lib/TWiki/Plugins/DateTimePlugin.pm Modulo Perl do plugin
  • Teste se o plugin está corretamente instalado. Você deverá ver datas renderizadas na sessão de exemplos.

Plugin Info

Plugin Author: TWiki:Main.AurelioAHeckert
Plugin Version: 27 Jul 2004 (V0.90)
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.000
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/DateTimePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DateTimePluginDev

-- TWiki:Main.AurelioAHeckert - 22 Jul 2004


Edit | Attach | Refresh | Diffs | More | Revision r1.10 - 29 Jun 2006 - 12:07 - DanielPustka