Javaで実行時間の計測処理を書こうとしたのですが、System.currentTimeMillis()System.nanoTime()等で取得したミリ秒に対して、hh:mm:ss SSSの形式で文字列を取得したいだけなのにタイムゾーン考慮の必要性まで出てきて正直戸惑っています。

Pythonまでとは言わないまでも、もう少し簡単な方法はないでしょうか?自分で実装するしかありませんか?
GuavaのstopWatchクラスも見てみましたが、指定形式への変換はなさそうでした。もしかしたら見落としているかもしれませんが・・・

long startTime = System.nanoTime();
SimpleDateFormat date = new SimpleDateFormat("hh:mm:ss SSS");
System.out.println(date.format((System.nanoTime() - startTime) / 1000000));

上記の場合、出力結果が

09:00:00 042

と出てしまいます。