Java works with a number of
milliseconds since 01-01-1970, 00:00:00 GMT for dates. 1305817327 milliseconds since that date is Fri Jan 16 04:43:37 EET 1970, so that's why you get that answer.
Dividing (currentTime + license_duration) is probably not correct. Maybe one has milliseconds, the other has seconds? If that's the case, then you have to
multiply one of the two numbers (the one that contains seconds instead of milliseconds) by 1000 (and not divide the sum of the numbers by 1000).
Use long instead of Long, because primitive types are more efficient.