The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Time::Beat - Module to convert between standard time and Swatch ".beat" time.


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.


    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);


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.


Important: As of v1.11 the method names have changed. The former method names, beattime, timebeat24 and timebeat12 will still work, but they have been deprecated, and will be removed at some point in the future.


Earle Martin <>. Originally written by James Duncan <>.


This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


1 POD Error

The following errors were encountered while parsing the POD:

Around line 155:

=over without closing =back