srecord Timestamp(long date) implements Comparable { *() { date = now(); } toString { ret formatLocalDateWithSeconds(date); } // Hmm. Should Timestamp(0) be equal to null? Question, questions... public int compareTo(Timestamp t) { ret t == null ? 1 : cmp(date, t.date); } Timestamp plus(double seconds) { ret Timestamp(date+toMS(seconds)); } }