In my app ,i need to synch data stored locally to server on exactly midnight in the local device time.How can i achieve this?

Is there any way to run app in backgound and keep cheking for mid night time ? Or do i have to check the time when app reopens after killing and the synchronize? How can i keep checking for the midnight time like alarm service in android?