Для механических часов, ноль перед цифрой не нужен, поэтому задача изначально проще.
А в моем коде наверно непонятно как выводится время (день, месяц и год также как и у вас, просто общую часть кода вынесли в отдельную функцию). Объясняю:
1. Если вывести просто time, то мы получим такой текст

Код:
Fri Apr 18 16:05:06 GMT+0400 2008
. То есть, в этой строке уже есть готовое время с нулем в начале, нам нужно его только вытащить.
2. Для этого мы объект дата сначала преобразовываем в строку

Код:
time.toString ()
3. Теперь разбиваем эту строку в массив, используя в качестве разделителя пробел

Код:
time.toString ().split (" ");
4. Полученный массив имеет такое содержимое

Код:
Fri,Apr,18,16:40:25,GMT+0400,2008
И мы видим, что четвертый элемент массива, это искоемое время. Остается только его вывести.
5. Отсчет элементов массива начинается с нуля. Поэтому наш четвертый элемент имеет индекс 3 - (0,1,2,3)

Код:
trace (array[3])