Print the time in a digital watch Write a program that prints the current time in a digital watch.

Rules:


The program must use the local timezone.
Time is expressed between 00:00 to 23:59 (with only hours and minutes).
The program must follow the output rules.
The smallest program wins.


Output (see example):


Each digit is represented by 4×3 matrix of the characters ␣ (space), | (pipe) and _ (underscore).
There are two spaces between two digits.
The : (column) is represented with a 1x3 matrix [␣,.,.] and is separated with the digits on both sides by 2 spaces.
A newline at the end of the output is tolerated.


List of digits:

 __           __    __          __    __    __    __    __
|  |     |    __|   __|  |__|  |__   |__      |  |__|  |__|
|__|     |   |__    __|     |   __|  |__|     |  |__|   __| 


Example output: (for 21:08)

 __             __    __
 __|     |  .  |  |  |__|
|__      |  .  |__|  |__|


Go!

EDIT: corrected the spaces for : and 1
PHP, 229 174

&lt;?php $s=" |.. w\$km&lt;]_d\x7F}";for($r=3;$r--;print'
')foreach(str_split(date('H:i'))as$c)echo$c&gt;'9'?$s[$r+2]:$s[($d=ord($s[$c+5])&gt;&gt;$r*3)/2&amp;1].($d&amp;1?@__:'  ').$s[$d/4&amp;1],'  ';


$s is a lookup table that encodes several things. The first two characters are the vertical segments, when off or on. The next three characters are the characters of the colon on each of the three rows. The character codes of the remaining characters encode in binary the state of the segments of each digit.



Old version, 229 chars:

&lt;?php foreach([strtr(decbin(735),['    ',' __ ']).' ','|  |   | __| __||__||__ |__    ||__||__|.','|__|   ||__  __|   | __||__|   ||__| __|.']as$r){foreach(str_split(date('H:i'))as$c)echo substr($r,ord($c)-48&lt;&lt;2,4).'  ';echo'
';}


Useful fact: the ASCII code of : is one greater than the ASCII code of 9, so 0123456789: are contiguous.