# File MutableTime.rb, line 385
        def customFormat(formatString)
                zYY   = (zYYYY=@t.year.to_s)[-2..-1]
                zMM   = (zM=@t.mon)<10 ? ('0'+zM.to_s) : zM.to_s
                zMMM  = (zMMMM=MONTH_NAMES[zM-1])[0...3]
                zDD   = (zD=@t.day)<10 ? ('0'+zD.to_s) : zD.to_s
                zDDD  = (zDDDD=DAY_NAMES[weekDay])[0...3]
                zth   = (zD>=10&&zD<=20) ? 'th' : ((dMod=zD%10)==1) ? 'st' : (dMod==2) ? 'nd' : (dMod==3) ? 'rd' : 'th'
        
                zh    = (zhhh=@t.hour)==0 ? 24 : zhhh; zh-=12 if (zh>12)
                zhh   = zh<10 ? ('0'+zh.to_s) : zh.to_s
                zmm   = (zm=@t.min)<10 ? ('0'+zm.to_s) : zm.to_s
                zss   = (zs=@t.sec)<10 ? ('0'+zs.to_s) : zs.to_s
                zAMPM = (zampm=zhhh<12 ? 'am' : 'pm').upcase

                f=formatString
                f.gsub!(/#YYYY#/,zYYYY);f.gsub!(/#YY#/,zYY);f.gsub!(/#MMMM#/,zMMMM);f.gsub!(/#MMM#/,zMMM);f.gsub!(/#MM#/,zMM.to_s);f.gsub!(/#M#/,zM.to_s);f.gsub!(/#DDDD#/,zDDDD);f.gsub!(/#DDD#/,zDDD);f.gsub!(/#DD#/,zDD);f.gsub!(/#D#/,zD.to_s);f.gsub!(/#th#/,zth);f.gsub!(/#hhh#/,zhhh.to_s);f.gsub!(/#hh#/,zhh);f.gsub!(/#h#/,zh.to_s);f.gsub!(/#mm#/,zmm);f.gsub!(/#m#/,zm.to_s);f.gsub!(/#ss#/,zss);f.gsub!(/#s#/,zs.to_s);f.gsub!(/#ampm#/,zampm);f.gsub!(/#AMPM#/,zAMPM);f
        end