How to show the live DateTime as a textView (Like a digital watch) in Android Studio?


I have made two textView in an xml file where one textView shows current date and another shows current time as text.

Now, I have used the java Calendar.getInstance().getTime() method to get the date & time information. But it is acting as a static view i.e. it is not changing the date & time like a digital clock.

Now I am trying to show the textViews to show the current date & time in synchronization with device-system’s date & time. That means, suppose now it is 11:59:59 PM in the night and the date is 7th Sep, 2022. Just after 1s, my time textView should show the time as 12:00:00 AM and date should show as 8th Sep, 2022. And it should continue to change the time after every 1s like a digital clock. Last of all, there should not be any delay in between system dateTime & app dateTime i.e. perfectly synchronised.

How to do that??

public class MainActivity extends AppCompatActivity {

    TextView textDate, textClock;

    protected void onCreate(Bundle savedInstanceState) {

        textDate = findViewById(;
        textClock = findViewById(;

    private void setDateTime() {
        Date c = Calendar.getInstance().getTime();
        SimpleDateFormat df = new SimpleDateFormat("dd MMM, yyyy", Locale.getDefault());
        SimpleDateFormat df_clock = new SimpleDateFormat("hh:mm:ss a", Locale.getDefault());
        String formattedDate = df.format(c);
        String formattedClock = df_clock.format(c);



There’s already a TextClock class in Android which you should be able to use. Try replacing your two TextViews with these and set the formats to your patterns.

Answered By – PPartisan

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published