This is NOT a mistake, the Calendar returns what it should (at least here).
Calendar calCurr = Calendar.getInstance(); Log.i("Time in mili of Current - Normal", ""+calCurr.getTimeInMillis());
I got 1333546375707 milliseconds, which is the correct value (also calculated manually).
What value do you expect here? How do you know this is wrong?
Date date = new Date(); calCurr.set(date.getYear()+1900, date.getMonth()+1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
Why add ONE per month? The month of the date and calendar is independent of zero - no need to add 1.
EDIT
Manual calculation (approximate):
2012 - 42 years * 365.24 days/year * 86400 seconds/day April - (31 + 29 + 31) days * 86400 4th - 3 days * 86400 13:30 - 13.5 hours * 3600 seconds/hour ==================== 1333553112 seconds
source share