Explanation
My guess… You neglected to specify a time zone. So your JVM's default time zone was applied while parsing the string into a Date instance. A Date has a date and time portion. Without a date portion, the class assumed you meant the epoch, the first moment of 1970 UTC. I bet your default time zone was behind UTC by more than 3 hours. So when adjusted to your time zone, the result was a date-time in 1969. Such a date-time (occurring before the epoch) is represented with a negative number.
Lessons Learned
(A) Specify a time zone rather than rely on implicit default.
(B) Avoid the notoriously troublesome java.util.Date and .Calendar classes. Use the Joda-Time library.
(C) If you want to work with a time only, no date, the use the Joda-Time LocalTime
class.