time has come
Time Sheets 7.0
Time Sheets are free linux timesheets for project tracking. more>>
Automate Project management, Billing and Payroll with your Free Web Employee Timesheets! Use your Free Web Timesheets to Discover secret profits in your business and ease billing now.
Automate Payroll with improved setup features. 100% web-based Linux Employee Timesheets program.
Main features:
User Interface
- Complete redesign including user-friendly organization and navigation
- Collapsible, customizable Toolbar with interactive calendar and timesheet status data
- Scrolling and single day display options for long periods that alleviate "wide" timesheet and compliance problems
- Dynamic, on-screen options to sort and display data in a variety of formats
Administrator Interface
- Ability to copy settings from existing users, projects, etc. for quick creation and set up of new items
- Access to all set up options on a single user or project creation screen
- Various types of reports consolidated and accessible under the main Reports tab
- Improved search, select and assign capabilities for automated approval plans, etc.
- Ability to search for, select and submit multiple timesheets for approval with a single click
- Improved Help menus and Sitemap that act as guides to the new navigation
Look and Feel
- Hierarchical tab navigation with the option to customize the color scheme
- Standard icons and page layout throughout the product
- Continued flexibility for branding and customizing the interface to fit organizational needs
Miscellaneous
- Leave request automation with supervisor review
- Manager reporting on all outstanding time off scheduled
- Option to subtotal by several different parameters in reports
- International character support
- Performance improvements via setting to limit number of items displayed in dropdown menus
- Advanced options for editing approved timesheets to meet specific auditing requirements
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.
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
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::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);
pytimeago r11
pytimeago is a human-oriented representation of time deltas, a Python library more>>
First, I shall define what time delta is. Since Δ generally means “difference”, we take time delta to stand for difference between two events in time. Quite common, however, is to have the current time for the second event. In pytimeago we deal with time deltas from such a perspective.
Quite possibly, you can make use of this library if your application displays some dynamically generated items to the user, and you are looking for a good way to present information on how long ago specific item was created/processed/whatever.
Below is small code snippet demonstrating how simple it is to embed pytimeago:
from pytimeago.english import english
from time import time, sleep
message = queue.getNextMessage()
delta = time() - message.arrived_time
print "Message arrived %s" % english(delta)
Prints, e.g.
Message arrived 15mins ago
As you see, pytimeago is package, and has individual modules for every language supported. As of 2006-08-13 the only supported language is English. However, you can take a look at rather trivial implementation of English engine, write one for your language, and send it to to me (email at the bottom of page).
Every language should come with a set of doctests (I prefer them to casual unit tests), just like the English version does. Dont be too verbose, but check essential cases.
Multiple Time Sheets 4
Multiple Time Sheets is a simple tool to help you keep track of how many hours you work and for whom. more>>
It differs from most time-tracking software because its designed to work like paper that magically totals up hours.
Main features:
- Uses text files, requiring no database.
- Supports only one user per app, for simpler code.
- Sends and tracks invoices, and payments thereof.
- Features a rudimentary to-do list that displays your list as an outline.
- Sends you a backup of your data automatically.
- Assume the user prefers free-form data entry in text files rather than typing into forms.
- Uses the htmlMimeMail.php class by Richard Heye (phpguru.org).
- CSV and OPML exports of some data.
- Automatic hyperlinking from MTS to your favorite web-based software.
Enhancements:
- This release added a feature that replaces text patterns with links so that strings like "Bug 10" can link to a bug tracking application.
- CSV export was added for the timesheet along with OPML export for the to-do list.
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::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.
Time::Skew 0.1
Time::Skew is a Perl module that computes local clock skew with respect to a remote clock. more>>
SYNOPISI
use Time::Skew
# Init Convex Hull and timing data
my $hull=[];
my $result={};
# Iterate data point introduction
Time::Skew::convexhull($result,$datapoint,$hull);
This module supports the computation of the skew between two clocks: the (relative) skew is the speed with which two clocks diverge. For instance, if yesterday two clocks, at the same time, showed respectively 10:00 and 10:05, while today when the former shows 10:00 the latter shows 10:04, we say that their relative skew is 1 minute/24 hours, roughly 7E-4.
The module contains one single subroutine, which accepts as input a pair of timestamps, associated to a message from host A to host B: the timestamps correspond to the time when the message was sent, and to the time when message is received. Each timestamp reflects the value of the local clock where the operation takes place: the clock of host A for the send, the clock of B for the receive.
Please note that the module does _not_ contain any message exchange facility, but only the mathematics needed to perform the skew approximation, once timestamps are known.
The subroutine takes as argument:
a reference to a hash where values related to the timing of the network path from A to B;
a 2-elems array (a data point in the sequel) containing the timestamp of the receive event, and the differece between the send timestamp and the receive timestamp for one message;
a stack containing some data points, those that form the convex hull.
The usage is very simple, and is illustrated by the following example:
#!/usr/bin/perl -w
use strict;
use Time::Skew;
# Initialize data
my $hull=[];
my $result={};
while ( 1 ) {
# Exchange message and acquire a new data point
my $datapoint = acquire();
# Call the convexhull subroutine
Time::Skew::convexhull($result,$datapoint,$hull);
# After first message some results are still undefined
( defined $result->{skewjitter} ) || next;
# here you can use the results
};
}
The data returned in the "result" hash is the following:
result->{skew} the clock skew;
result->{skewjitter} the variance of the skew estimate, used to estimate convergence;
result->{jitter} difference between the current delay and the previous delay;
result->{delay} the communication delay, decremented by a constant (yet unknown) value, used to compute communication jitter;
result->{elems} the number of data points in the convex hull;
result->{select} the index of the data point in the convex hull used to compute the skew;
result->{itimestamp} the timestamp, first element in the data point just passed to the subroutine;
result->{delta} the timestamp difference, second element in the data point just passed to the subroutine;
The data returned in the "hull" stack is a series of data points, selected from those passed to successive calls of the subroutine. The number of data points in the "hull" stack usually does not exceed 20 units.
The algorithm is very fast: each call consists in scanning at most all data points in the "hull" stack, performing simple arithmetic operations for each element.
The algorithm must be fed with a sequence of data points before returning significant results. The accuracy of the estimate keeps growing while new data points are passed to the subroutine. A rough rule of thumb to evaluate estimate accuracy is to observe the skew jitter, and assume it corresponds to the skew estimate accuracy. Paths with quite regular communication delay (small jitter) converge faster.
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
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.
WMitime 0.3
WMitime is yet another clock dock app (and quite overglorified at that! more>>
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.
Time::Format 1.02
Time::Format is a Perl module for easy-to-use date/time formatting. more>>
SYNOPSIS
use Time::Format qw(%time %strftime %manip);
$time{$format}
$time{$format, $unixtime}
print "Today is $time{yyyy/mm/dd}n";
print "Yesterday was $time{yyyy/mm/dd, time-24*60*60}n";
print "The time is $time{hh:mm:ss}n";
print "Another time is $time{H:mm am tz, $another_time}n";
print "Timestamp: $time{yyyymmdd.hhmmss.mmm}n";
%time also accepts Date::Manip strings and DateTime objects:
$dm = Date::Manip::ParseDate(last monday);
print "Last monday was $time{Month d, yyyy, $dm}";
$dt = DateTime->new (....);
print "Heres another date: $time{m/d/yy, $dt}";
It also accepts most ISO-8601 date/time strings:
$t = 2005/10/31T17:11:09; # date separator: / or - or .
$t = 2005-10-31 17.11.09; # in-between separator: T or _ or space
$t = 20051031_171109; # time separator: : or .
$t = 20051031171109; # separators may be omitted
$t = 2005/10/31; # date-only is okay
$t = 17:11:09; # time-only is okay
# But not:
$t = 20051031; # date-only without separators
$t = 171109; # time-only without separators
# ...because those look like epoch time numbers.
%strftime works like POSIXs strftime, if you like those %-formats.
$strftime{$format}
$strftime{$format, $unixtime}
$strftime{$format, $sec,$min,$hour, $mday,$mon,$year, $wday,$yday,$isdst}
print "POSIXish: $strftime{%A, %B %d, %Y, 0,0,0,12,11,95,2}n";
print "POSIXish: $strftime{%A, %B %d, %Y, 1054866251}n";
print "POSIXish: $strftime{%A, %B %d, %Y}n"; # current time
%manip works like Date::Manips UnixDate function.
$manip{$format};
$manip{$format, $when};
print "Date::Manip: $manip{%m/%d/%Y}n"; # current time
print "Date::Manip: $manip{%m/%d/%Y,last Tuesday}n";
These can also be used as standalone functions:
use Time::Format qw(time_format time_strftime time_manip);
print "Today is ", time_format(yyyy/mm/dd, $some_time), "n";
print "POSIXish: ", time_strftime(%A %B %d, %Y,$some_time), "n";
print "Date::Manip: ", time_manip(%m/%d/%Y,$some_time), "n";
This module creates global pseudovariables which format dates and times, according to formatting codes you pass to them in strings.
The %time formatting codes are designed to be easy to remember and use, and to take up just as many characters as the output time value whenever possible. For example, the four-digit year code is "yyyy", the three-letter month abbreviation is "Mon".
The nice thing about having a variable-like interface instead of function calls is that the values can be used inside of strings (as well as outside of strings in ordinary expressions). Dates are frequently used within strings (log messages, output, data records, etc.), so having the ability to interpolate them directly is handy.
Perl allows arbitrary expressions within curly braces of a hash, even when that hash is being interpolated into a string. This allows you to do computations on the fly while formatting times and inserting them into strings. See the "yesterday" example above.
The format strings are designed with programmers in mind. What do you need most frequently? 4-digit year, month, day, 24-based hour, minute, second -- usually with leading zeroes. These six are the easiest formats to use and remember in Time::Format: yyyy, mm, dd, hh, mm, ss. Variants on these formats follow a simple and consistent formula. This module is for everyone who is weary of trying to remember strftime(3)s arcane codes, or of endlessly writing $t[4]++; $t[5]+=1900 as you manually format times or dates.
Note that mm (and related codes) are used both for months and minutes. This is a feature. %time resolves the ambiguity by examining other nearby formatting codes. If its in the context of a year or a day, "month" is assumed. If in the context of an hour or a second, "minute" is assumed.
The format strings are not meant to encompass every date/time need ever conceived. But how often do you need the day of the year (strftimes %j) or the week number (strftimes %W)?
For capabilities that %time does not provide, %strftime provides an interface to POSIXs strftime, and %manip provides an interface to the Date::Manip modules UnixDate function.
If the companion module Time::Format_XS is also installed, Time::Format will detect and use it. This will result in a significant speed increase for %time and time_format.