You could use:
import java.util.Calendar
Date currentTime = Calendar.getInstance().getTime();
There are plenty of constants in Calendar for everything you need.
Check the Calendar class documentation.
You can (but no longer should – see below!) use android.text.format.Time:
Time now = new Time();
now.setToNow();
From the reference linked above:
The Time class is a faster replacement
for the java.util.Calendar and
java.util.GregorianCalendar classes.
An instance of the Time class
represents a moment in time, specified
with second precision.
NOTE 1:
It’s been several years since I wrote this answer,
and it is about an old, Android-specific and now deprecated class.
Google now says that
“[t]his class has a number of issues and it is recommended that GregorianCalendar is used instead”.
NOTE 2: Even though the Time class has a toMillis(ignoreDaylightSavings) method, this is merely a convenience to pass to methods that expect time in milliseconds. The time value is only precise to one second; the milliseconds portion is always 000. If in a loop you do
Time time = new Time(); time.setToNow();
Log.d(“TIME TEST”, Long.toString(time.toMillis(false)));
… do something that takes more than one millisecond, but less than one second …
The resulting sequence will repeat the same value, such as 1410543204000, until the next second has started, at which time 1410543205000 will begin to repeat.