wiki:plugin_time

time plugin

This plugin provides some basic date and time functions. This plugin will always be linked statically into LCD4Linux, and therefore does not follow the 'plugin_name::function' scheme.


Functions:

time()returns the number of seconds since 00:00:00 UTC, January 1, 1970
strftime(format, time)converts a time value according to <format>
strftime_tz(format, time, timezone)Sane as strftime() but with additonal time zone specification

Both functions simply use the corresponding C functions, so for details have a look at time(3) and strftime(3).

For your convience, I've extracted the strftime stuff from the man page:

%aThe abbreviated weekday name according to the current locale.
%AThe full weekday name according to the current locale.
%bThe abbreviated month name according to the current locale.
%BThe full month name according to the current locale.
%cThe preferred date and time representation for the current locale.
%CThe century number (year/100) as a 2-digit integer. (SU)
%dThe day of the month as a decimal number (range 01 to 31).
%DEquivalent to %m/%d/%y. (Yecch -- for Americans only. Americans should note that in other countries %d/%m/%y is rather common. This means that in international context this format is ambiguous and should not be used.) (SU)
%eLike %d, the day of the month as a decimal number, but a leading zero is replaced by a space. (SU)
%EModifier: use alternative format, see below. (SU)
%FEquivalent to %Y-%m-%d (the ISO 8601 date format). (C99)
%GThe ISO 8601 year with century as a decimal number. The 4-digit year corresponding to the ISO week number (see %V). This has the same format and value as %y, except that if the ISO week number belongs to the previous or next year, that year is used instead. (TZ)
%gLike %G, but without century, i.e., with a 2-digit year (00-99). (TZ)
%hEquivalent to %b. (SU)
%HThe hour as a decimal number using a 24-hour clock (range 00 to 23).
%IThe hour as a decimal number using a 12-hour clock (range 01 to 12).
%jThe day of the year as a decimal number (range 001 to 366).
%k The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blank. (See also %H.) (TZ)
%lThe hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank. (See also %I.) (TZ)
%mThe month as a decimal number (range 01 to 12).
%MThe minute as a decimal number (range 00 to 59).
%nA newline character. (SU)
%OModifier: use alternative format, see below. (SU)
%pEither AM' or PM' according to the given time value, or the corresponding strings for the current locale. Noon is treated as pm' and midnight as am'.
%PLike %p but in lowercase: am' or pm' or a corresponding string for the current locale. (GNU)
%rThe time in a.m. or p.m. notation. In the POSIX locale this is equivalent to `%I:%M:%S %p'. (SU)
%RThe time in 24-hour notation (%H:%M). (SU) For a version including the seconds, see %T below.
%sThe number of seconds since the Epoch, i.e., since 1970-01-01 00:00:00 UTC. (TZ)
%SThe second as a decimal number (range 00 to 60). (The range is up to 60 to allow for occasional leap seconds.)
%tA tab character. (SU)
%TThe time in 24-hour notation (%H:%M:%S). (SU)
%uThe day of the week as a decimal, range 1 to 7, Monday being 1. See also %w. (SU)
%UThe week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01. See also %V and %W.
%VThe ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. See also %U and %W. (SU)
%wThe day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.
%WThe week number of the current year as a decimal number, range 00 to 53, starting with the first Monday as the first day of week 01.
%xThe preferred date representation for the current locale without the time.
%XThe preferred time representation for the current locale without the date.
%yThe year as a decimal number without a century (range 00 to 99).
%YThe year as a decimal number including the century.
%zThe time-zone as hour offset from GMT. Required to emit RFC 822-conformant dates (using "%a, %d %b %Y %H:%M:%S %z"). (GNU)
%ZThe time zone or name or abbreviation.
%+The date and time in date(1) format. (TZ) (Not supported in glibc2.)
%%A literal `%' character.

Time Zones:

For the time zone specification, you can set whatever Linux accepts as its "TZ" environment. Normally that's a city like "Europe/Berlin?" (see /usr/share/zoneinfo) or a generic time zone string like "UTC". See also the tzset(3) manual page.


Example

Widget Time {
    class 'Text'
    expression strftime('%a,%d/%m %H:%M:%S',time())
    width 20
    align 'E'
    update 1000
}

Last modified 9 years ago Last modified on 09/09/08 19:09:44