time zone
Time::Zone 1.16
Time::Zone is a miscellaneous timezone manipulations routines. more>>
SYNOPSIS
use Time::Zone;
print tz2zone();
print tz2zone($ENV{TZ});
print tz2zone($ENV{TZ}, time());
print tz2zone($ENV{TZ}, undef, $isdst);
$offset = tz_local_offset();
$offset = tz_offset($TZ);
This is a collection of miscellaneous timezone manipulation routines.
tz2zone() parses the TZ environment variable and returns a timezone string suitable for inclusion in date-like output. It opionally takes a timezone string, a time, and a is-dst flag.
tz_local_offset() determins the offset from GMT time in seconds. It only does the calculation once.
tz_offset() determines the offset from GMT in seconds of a specified timezone.
tz_name() determines the name of the timezone based on its offset
Time::Convert 0.5
Time::Convert is a Perl interface to converting unix seconds to years, days, hours and minutes. more>>
SYNOPSIS
use Time::Convert;
my $convert = new Time::Convert;
EXAMPLE
use Time::Convert;
my $convert = new Time::Convert;
$REPLY = $convert->ConvertSecs(time);
print($REPLY);
Time Manager 0.7.0
Time Manager is a CGI script that keeps track of how much time you have spent at work. more>>
Time Manager relies heavily on the Date::Manip module which has to be installed before running the script.
Enhancements:
- made a new monthly stats
- reversed change entry list
- actions like signon/off are now linked up with the main menu giving an action-status line at the bottom of the page.
- added some buttons where lists could get long (weekly stats)
Time Sheets 1.22
Time Sheets is an online employee time sheet and attendance management program. more>>
The time sheet administrator can setup time periods, and employees can login and enter their work times online.
All timesheets can be exported to Excel for convenient printing and analysis. It is especially valuable for a sales team or other employees that are on the road or work in remote locations.
Installation:
-copy all files to your web host
-use phpmyadmin or your mysql interface to run site.sql against your database.
-open site.xml and edit the database section with your database details.
-go to index.php and login with username of admin with a password of test.
-be sure to change the passwords for the admin and regular users.
Add this to your .htaccess file to prevent viewing of the xml config file.
< Files ~ ".xml" >
Order allow,deny
Deny from all
Satisfy All
< /Files >
Setup the site.xml file with your database settings as follows.
< database type="mysql" >
database server address< /server >
< login >database login< /login >
< password >database password< /password >
< default >mysql database name< /default >
< /database >
Enhancements:
- A display problem in the main form template for the timesheet system was fixed.
Time Tracker 1.0.2
TimeTracker is an application loosely based on TimeKeeper, a Windows application used to track the time you spent on a task. more>>
Being a Linux user and not willing to install Wine, I decided to hack my own version.
Time::Progress 1.2
Time::Progress Perl module contains elapsed and estimated finish time reporting. more>>
SYNOPSIS
# autoflush to get r working
$| = 1;
# get new `timer
my $p = new Time::Progress;
# restart and report progress
$p->restart;
sleep 5; # or do some work here
print $p->report( "done %p elapsed: %L (%l sec), ETA %E (%e sec)n", 50 );
# set min and max values
$p->attr( min => -2, max => -20 );
# restart `timer
$p->restart;
my $c;
for( $c = -2; $c >= -20; $c-- )
{
# print progress bar and percentage done
print $p->report( "eta: %E min, %40b %pr", $c );
sleep 1; # work...
}
# stop timer
$p->stop;
# report times
print $p->elapsed_str;
Time::Warp 0.5
Time::Warp is a Perl module to control over the flow of time. more>>
SYNOPSIS
use Time::Warp qw(scale to time);
to(time + 5); # 5 seconds ahead
scale(2); # make time flow twice normal
Our external experience unfolds in 3 1/2 dimensions (time has a dimensionality of 1/2). The Time::Warp module offers developers control over the measurement of time.
API
to($desired_time)
The theory of relativity asserts that all physical laws are enforced relative to the observer. Since the starting point of time is arbitrary, it is permissable to change it. This has the effect of making it appear as if time is moving forwards or backward instanteously. For example, on some types of operating systems time starts at Wed Dec 31 19:00:00 1969 (this will likely change as we approach 2030 and with the acceptance of 64-bit CPUs).
to(time + 60*60); # 1 hour ahead
scale($factor)
Changes the speed at which time is progressing.
scale(scale * 2); # double the speed of time
Note that it is not possible to stop time or cause it to reverse since this is forbidden by the second law of thermodynamics.
WR Time Tracker 1.2.4
WR Time Tracker is an open source, free web-based work time tracking system. It is simple and very easy to use. It allows you to create user logins and organize them in teams, create and modify projects and activities, input work time, generate reports and invoices and send them via e-mail. The system runs on FreeBSD, Linux, or Windows. Free hosting of this service is available for public at http://timetracker.wrconsulting.com in 23 languages. more>>
WR Time Tracker - WR Time Tracker is an open source, free web-based work time tracking system. It is simple and very easy to use. It allows you to create user logins and organize them in teams, create and modify projects and activities, input work time, generate reports and invoices and send them via e-mail. The system runs on FreeBSD, Linux, or Windows. Free hosting of this service is available for public at http://timetracker.wrconsulting.com. The system is available in 23 languages: English, Chinese (Traditional and Simplified), Czech, Danish, Dutch, Estonian, French, German, Hebrew, Hungarian, Icelandic, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Tamil, and Turkish.
Enhancements:
Version 1.2.4
Chinese Traditional and Chinese Simplified translations added. Code extended to support additional languages, the older ISO 639 language code is now obsolete. Browser-default option added to determine presentation language. Time duration and large time entries on "my time" page corrected.
Version 0.9.2
Czech translation added. Changed database structure update procedure v0.8-v0.9 in dbinstall.php by introducing a default NULL value for user language field (u_lang). This fixes the "unable to create user" problem with current latest MySQL version 5.1.30.
Version 0.8.1
Support for bi-directional languges.
Version 0.8
Minor updates to support the latest MySQL, PHP, and Apache. Corrected mysql.sql script (database creation) and some links.
Version 0.7
MySQL 5, PHP 5, Apache 2 support, lots of miscellaneous improvements.
System Requirements:None<<less
Time::Beat 1.21
Time::Beat is a Perl module to convert between standard time and Swatch .beat time. more>>
Time::Beat is a module to convert normal time to and from .beats, of which there are a thousand in a day. It can change normal time in time() format to .beats, and .beats into either 24-hour or 12-hour normal time.
SYNOPSIS
use Time::Beat qw(beat time24 time12);
my $time_in_beats = beats($time);
my $beats_in_24hr_time = time24($beat);
my $beats_in_12hr_time = time12($beat);
METHODS
There are three methods in Time::Beat.
beats($time)
beats will give you the current time in .beats if you do not specify a time string. If you specify a string in time() format it will return that particular time in .beats. The basic algorithm for doing this is to take the time in GMT+1 hour, convert it into seconds, and divide by 86.4.
time24($beat)
time24 takes a 3-digit beat time and outputs a 24-hour time along the lines of "12:34:56". The hours will have leading noughts.
time12($beat)
time12 takes a 3-digit beat time and outputs a 12-hour time along the lines of "12:34:56 am" or "12:34:56 pm". Hours do not have leading noughts.
DIY Zoning 0.1p7dev3
DIY Zoning is a set of tools and instructions for controlling a state-of-the-art HVAC system. more>>
Whats New in This Release:
This release introduces support for many logical devices per one physical 1-Wire device in general, and humidity sensor support in particular.
DAC2CORE protocol has changed, backward compatibility is broken. To upgrade your configuration, you have to add a literal T in front of 1-Wire temperature sensors, and add a literal S in front of 1-Wire switch devices.
PHP time management 1.07b
PHP time management is a Web-based time management application. more>>
A few minor items in the login page for the system were fixed.
Zoned 0.1.1
Zoned project provides DNS zone database clustering for BIND9. more>>
Zoned works in conjunction with the BDBHPT DLZ module for BIND9 (9.4.0+). Zoned manages the backing-store Berkeley DB database, and utilizes the Berkeley DB Replication Base API to provide high availability and load distribution to a coherent DNS zone infrastructure.
Zoned includes the zoned(1) server replication node, zonectl(1) command line utility for managing server nodes and editing DNS zone records, and a Perl module, Zoned. All changes to DNS zone data must be processed through a Zoned node, preferably using the command-line utility or Perl library. Alternatively, an ASN.1 message schema definition is provided, defining the messaging protocol for node communication, which can be used to build your own tools for interacting with the cluster.
Zoned and Berkeley DB autonomously manage the cluster and cluster messaging (including transparently routing all zoned edits to the master, per BerkeleyDB Replication requirements). You must enumerate cluster nodes through SRV resource records. This list specifies all nodes which should participate in the cluster, not necessarily all available nodes. This list determines who and where each node should peer with, and serves as a parameter to determining whether a transaction has been successfully committed (more than one-half of enumerated nodes have written out a zone edit). The SRV node enumeration modifications are automatically detected with a configurable check interval.
To compile Zoned you need: GNU Make, libarena, libevnet, libevent, asn1c, and Lua.
Zoned has been successfully compiled and run on Debian GNU/Linux i386, and OpenBSD 4.0 AMD64 platforms. Zoned is new software, and it may take some elbow grease to build properly.
libevnet requires C-Ares and OpenSSL.
Zoned is a Work-in-Progress. Node authentication is not yet implemented, but will use TLS and X.509 certificate verification. Currently node discovery occurs through an SRV query, which is expected to enumerate all current nodes.
Time Attendance 1.10a
Time and Attendance is software that is designed to track time and attendance. more>>
Its Web-based interface allows you to enter events as either public or private, and only public events are shown on the public attendance page.
Installation:
-copy all files to your web host
-use phpmyadmin or your mysql interface to run site.sql against your database.
-open site.xml and edit the database section with your database details.
-go to index.php and login with username of admin with a password of test.
-be sure to change the passwords for the admin and regular user.
Setup the site.xml file with your database settings as follows.
< database type="mysql" >
< server >database server address< /server >
< login >database login< /login >
< password >database password< /password >
< default >mysql database name< /default >
< /database >
Add this to your htaccess file to prevent viewing of the xml config file.
< Files ~ ".xml" >
Order allow,deny
Deny from all
Satisfy All
< /Files >
Enhancements:
- Some bugs found in the main form library for the time attendance system were fixed.
Ruby Time Tracker 1.0
Ruby Time Tracker is a stable and complete time tracking system. more>>
Future Plans
Planned upgrades include:
Locking down past periods so that no entries can be made or changed after invoicing
Custom periods so that users may define billing cycles for thier company
Reminders sent to employees who have not made entries daily or at the end of a billing cycle
Two Versions
There are currently two versions in development. The professional version uses a MySQL database and requires some knowlege of installing and configuring Ruby on Rails applications to install. The lite version includes an installer that will install and configure an SQLight database and a webrick web server for easy installation. Development is being done on the professional version and periodically the lite version will be updated to include new functionality.
Time::Piece 1.11
Time::Piece is a Perl module that contains Object Oriented time objects. more>>
SYNOPSIS
use Time::Piece;
my $t = localtime;
print "Time is $tn";
print "Year is ", $t->year, "n";
This module replaces the standard localtime and gmtime functions with implementations that return objects. It does so in a backwards compatible manner, so that using localtime/gmtime in the way documented in perlfunc will still return what you expect.
The module actually implements most of an interface described by Larry Wall on the perl5-porters mailing list here: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-01/msg00241.html
USAGE
After importing this module, when you use localtime or gmtime in a scalar context, rather than getting an ordinary scalar string representing the date and time, you get a Time::Piece object, whose stringification happens to produce the same effect as the localtime and gmtime functions. There is also a new() constructor provided, which is the same as localtime(), except when passed a Time::Piece object, in which case its a copy constructor. The following methods are available on the object:
$t->sec # also available as $t->second
$t->min # also available as $t->minute
$t->hour # 24 hour
$t->mday # also available as $t->day_of_month
$t->mon # 1 = January
$t->_mon # 0 = January
$t->monname # Feb
$t->month # same as $t->monname
$t->fullmonth # February
$t->year # based at 0 (year 0 AD is, of course 1 BC)
$t->_year # year minus 1900
$t->yy # 2 digit year
$t->wday # 1 = Sunday
$t->_wday # 0 = Sunday
$t->day_of_week # 0 = Sunday
$t->wdayname # Tue
$t->day # same as wdayname
$t->fullday # Tuesday
$t->yday # also available as $t->day_of_year, 0 = Jan 01
$t->isdst # also available as $t->daylight_savings
$t->hms # 12:34:56
$t->hms(".") # 12.34.56
$t->time # same as $t->hms
$t->ymd # 2000-02-29
$t->date # same as $t->ymd
$t->mdy # 02-29-2000
$t->mdy("/") # 02/29/2000
$t->dmy # 29-02-2000
$t->dmy(".") # 29.02.2000
$t->datetime # 2000-02-29T12:34:56 (ISO 8601)
$t->cdate # Tue Feb 29 12:34:56 2000
"$t" # same as $t->cdate
$t->epoch # seconds since the epoch
$t->tzoffset # timezone offset in a Time::Seconds object
$t->julian_day # number of days since Julian period began
$t->mjd # modified Julian date (JD-2400000.5 days)
$t->week # week number (ISO 8601)
$t->is_leap_year # true if it its
$t->month_last_day # 28-31
$t->time_separator($s) # set the default separator (default ":")
$t->date_separator($s) # set the default separator (default "-")
$t->day_list(@days) # set the default weekdays
$t->mon_list(@days) # set the default months
$t->strftime(FORMAT) # same as POSIX::strftime (without the overhead
# of the full POSIX extension)
$t->strftime() # "Tue, 29 Feb 2000 12:34:56 GMT"
Time::Piece->strptime(STRING, FORMAT)
# see strptime man page. Creates a new
# Time::Piece object