I'm a novice Java programmer. As a learning experience I decided to write a class to read ETL files produced by an ETW consumer. The records in the file have a timestamp value that is the number of 100 nanoseconds since 00:00:00 on 1st January 1601 - honest I'm not joking.

I want to convert the timestamp to hh:mm:ss.ssssss. I can do the straight maths but I have to cope with leap years, extra days every 400 years, the odd minute thrown in here and there. Does anyone have any ideas how I can do it?

Thanks and regards...Paul