Get the UNIX timestamp from UUID version 1
From the docs for timestamp()
:
The resulting timestamp is measured in 100-nanosecond units since midnight, October 15, 1582 UTC.
So you need to offset it from that. For example:
Calendar uuidEpoch = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
uuidEpoch.clear();
uuidEpoch.set(1582, 9, 15, 0, 0, 0); // 9 = October
long epochMillis = uuidEpoch.getTime().getTime();
long time = (uuid.timestamp() / 10000L) + epochMillis;
// Rest of code as before
If you using datastax driver, it's:
UUIDs.unixTimestamp(uuid)
http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/utils/UUIDs.html#unixTimestamp(java.util.UUID)