codegolf.com: Saving Time
Golfscript, 75 bytes

Inspired by the article linked in the comments.

':'/{~}/5/:m;12%:h;"XXXXXXXXXXXX"{..318\%9/' '*@12%.h=2*\m=+'omhx'=@85/n*}%


The XXXXXXXXXXXX part represents 12 bytes of data, some of them unprintable, and should be replaced with the byte sequence 120 47 253 22 194 9 183 44 196 55 125 246.

For convenience, here is a base64 encoded version:

JzonL3t+fS81LzptOzEyJTpoOyJ4L/0Wwgm3LMQ3ffYiey4uMzE4XCU5LycgJypAMTIlLmg9Mipc
bT0rJ29taHgnPUA4NS9uKn0l


Example run:

$ echo -n "JzonL3t+fS81LzptOzEyJTpoOyJ4L/0Wwgm3LMQ3ffYiey4uMzE4XCU5LycgJypAMTIlLmg9MipcbT0rJ29taHgnPUA4NS9uKn0l" | base64 -d &gt; saving-time.gs
$ ls -l saving-time.gs 
-rw-r--r-- 1 ahammar ahammar 75 2012-01-29 17:31 saving-time.gs
$ ruby golfscript.rb saving-time.gs &lt;&lt;&lt; "15:37"
        o
    o       o

 o             o

o               h

 o             o

    m       o
        o