Como calcular a diferença entre dois Java java.sql.Timestamps?

Inclua os nanos, caso contrário, seria trivial:

long diff = Math.abs(t1.getTime () - t2.getTime ());

[EDIT] Quero o resultado mais preciso, portanto não dobre; somente aritmético inteiro / longo. Além disso, o resultado deve ser positivo. Pseudo-código

Timestamp result = abs (t1 - t2);

Exemplos

t1 = (time=1001, nanos=1000000), t2 = (time=999, nanos=999000000)
 -> diff = (time=2, nanos=2000000)

Sim, milissegundos em java.sql.Timestamp são duplicados no tempo e no nanos par, então 1001 milissegundos significa 1 segundo (1000) e 1 mili que está notime parte e onanos parte porque 1 milissegundo = 1000000 nanossegundos). Isso é muito mais desonesto do que parece.

Sugiro não postar uma resposta sem realmente testar o código ou ter uma amostra de código de trabalho pronta

questionAnswers(5)

yourAnswerToTheQuestion