package ddth.dasp.test.id; import java.util.Date; import ddth.dasp.common.id.IdGenerator; public class TestIdGenerator { public static void main(String... args) { long current = System.currentTimeMillis(); current = (current - IdGenerator.TIMESTAMP_EPOCH) / 10000L; System.out.println(Long.toBinaryString(current)); long next10Years = System.currentTimeMillis() + 10L * 365L * 24L * 3600L * 1000L; next10Years = (next10Years - IdGenerator.TIMESTAMP_EPOCH) / 10000L; System.out.println(Long.toBinaryString(next10Years)); long next100Years = System.currentTimeMillis() + 100L * 365L * 24L * 3600L * 1000L; next100Years = (next100Years - IdGenerator.TIMESTAMP_EPOCH) / 10000L; System.out.println(Long.toBinaryString(next100Years)); long next500Years = System.currentTimeMillis() + 500L * 365L * 24L * 3600L * 1000L; next500Years = (next500Years - IdGenerator.TIMESTAMP_EPOCH) / 10000L; System.out.println(Long.toBinaryString(next500Years)); System.out.println(); IdGenerator idGen = IdGenerator.getInstance(System.currentTimeMillis()); for (int i = 0; i < 10; i++) { long idTiny = idGen.generateIdTiny(); String tinyHex = Long.toHexString(idTiny); String tinyAscii36 = Long.toString(idTiny, Character.MAX_RADIX); String tinyAscii62 = IdGenerator.toString(idTiny, IdGenerator.MAX_RADIX); System.out.println(idTiny); System.out.println(tinyHex); System.out.println(tinyAscii36); System.out.println(tinyAscii62); System.out.println(new Date(IdGenerator.extractTimestampTiny(idTiny))); System.out.println(); } long idMini = idGen.generateIdMini(); String miniHex = Long.toHexString(idMini); String miniAscii36 = Long.toString(idMini, Character.MAX_RADIX); String miniAscii62 = IdGenerator.toString(idMini, IdGenerator.MAX_RADIX); System.out.println(idMini); System.out.println(miniHex); System.out.println(miniAscii36); System.out.println(miniAscii62); System.out.println(); } }