srecord Timestamp(long date) implements Comparable { *() { date = now(); } long unixDate() { ret date; } 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(Seconds seconds) { ret plus(seconds?.getDouble()); } Timestamp plus(double seconds) { ret Timestamp(date+toMS(seconds)); } long minus(Timestamp ts) { ret unixDate()-ts.unixDate(); } long sysTime() { ret clockTimeToSystemTime(date); } }