2015-10-21 76 views
1

我正在构建一个android应用程序,我需要TimeStamp而不是本地系统机器。在android系统时间函数获取TimeStamp?

我已经做了什么来获得TimeStamp使用下面的函数。

System.currentTimeMillis() 

我面临的问题是如果系统时间设置错误,我会得到错误的时间在这种情况下。

有没有lib。从那里我可以得到当前的时间戳。

+0

你应该尝试从一些网络服务 – ZanoOnStack

回答

0

可能这可以帮助你:

Calendar c = Calendar.getInstance(); 
int mseconds = c.get(Calendar.MILLISECOND); 
+0

得到时间戳这也将使用系统时间。 – liefersfl

+0

@Divya这也将使用系统时间,我不想在我的问题中明确提及 –

0

作为替代,您可以使用

Calendar cal = Calendar.getInstance(); 
Timestamp time = new Timestamp(cal.getTimeInMillis()); 

(见本thread为例)。

但是我不知道当系统时间错误时会发生什么(现在不能测试它)。

+0

这也将使用系统时间我不想要 –

0

如果您不想要系统时间,则必须从外部资源获取时间戳。这可能是你自己的互联网服务器,NTP服务器,你可以从GPS时间戳,... 看一看此相关的问题/回答: Network Time from NTP Server

+0

我不想使用任何网络调用来获取时间戳 –

+0

@ sofquestion9时间戳可以从哪里来?你不需要它从系统(设备),那么它必须来自外部资源,这是(没有任何特殊的硬件)互联网或全球定位系统。 – liefersfl