Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Real Time - Not Device Set Time in android

How to find out the Real Geographical Time, as in my application I want to attach the real time with my application.

So that if the user changes the time in his device then I should get only the real prevailing time - NOT THE DEVICE TIME

My question is much confusing but try to understand in a simple language -

I dont want DEVICE TIME, I want REAL PREVAILING TIME at any instant

like image 430
Ashish Dwivedi Avatar asked Apr 04 '13 10:04

Ashish Dwivedi


People also ask

How do I get just the time on my Android?

In order to get just the time, you just need to replace (a) yyyy-MM-dd'T'HH:mm:ss.

How does Android store date and time?

Saving DateTime in Android String – you can simply save your datetime as String (Text in SQLite) if all you want to do with the date going forward is display it. Also you can use DateFormat to parse the saved String to date value and work with it later. Product temp = new Product(); temp.


1 Answers

You need to use the NTP (Network Time Protocol) protocol:

Here is some code I found somewhere else... and I am using it. This uses the Apache Commons library, which can be installed using Gradle (adding a dependency on commons-net:commons-net:3.6)

If you need a list of time servers, check: http://tf.nist.gov/service/time-servers.html

Here is some Java Code for you to use:

public class TimeLookup {     public static final String TIME_SERVER = "time-a.nist.gov";      public static void main(String[] args) throws Exception {         NTPUDPClient timeClient = new NTPUDPClient();         InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);         TimeInfo timeInfo = timeClient.getTime(inetAddress);         long returnTime = timeInfo.getReturnTime();         Date time = new Date(returnTime);         System.out.println("Time from " + TIME_SERVER + ": " + time);     }  } 

Note the Android code must run on the background thread and include gradle dependency:

implementation 'commons-net:commons-net:3.6' 
like image 200
Gaurav Arora Avatar answered Sep 29 '22 07:09

Gaurav Arora