Ok, here is a full macro with example usage and example format.
Note that it overlaps values, so higher time units are required.

(defmacro time2
  [fmt expr]
        (import '(java.text SimpleDateFormat) '(java.util Date TimeZone))
  `(let [start# (System/currentTimeMillis)
         ret# ~expr stop# (- (System/currentTimeMillis) start#)]
     (prn (.format (doto (SimpleDateFormat. ~fmt) (.setTimeZone
(TimeZone/getTimeZone "GMT:00")) )
                                        (Date. stop#)))
     ret#))

(time2 "H'hr.' m'min.' s'sec.' S'msec.'" (Thread/sleep 1000))

Btw. How the import above will behave? Only for the first time the
macro is created or always on time2 call?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to