Read the API documentation for the the constructor of class Date that you are using. A quote:
Parameters: year - the year minus 1900. ...
And that constructor is deprecated, which means you should not use it. If you want a Date object that has the same date and time as the Calendar, just use the getTime() method. You already know that method, because you're using it in your code above.
It's a timezone problem. You are creating your calendar with the timezone CCT, but the time is printed in IST. [ July 27, 2006: Message edited by: Scott Johnson ]
The time zone stuff can be difficult to handle in Java.
The Date class does not know anything about time zones. If you read the API documentation of class Date, it says it is intended to contain a Date in UTC (coordinated universal time).
If you print a Date to the console by just using toString() on the Date object (you are doing that implicitly in your code above), it prints the Date in the time zone of your default locale.
If you want to convert a Date to text using a specific time zone, you can use a DateFormat object and set the time zone on the DateFormat object: