使用GPS(LocationManager)如何获取当前时间?

Jag*_*gan 1 java android

我正在开发一个GPS应用程序.这将每隔一小时将位置数据发送到服务器.

在这里我使用以下代码:

location.getLatitude();
location.getLongitude();
location.getTime();
Run Code Online (Sandbox Code Playgroud)

使用此代码我正确地获得了纬度和经度以及时间,但我得到了一些13位数而不是时间.我做了一些研究,我发现这是当前时间的秒.

所以现在我需要将这个13位数转换成特定的格式.

Mat*_*all 12

Location#getTime()返回"此修复的UTC时间,自1970年1月1日以来的毫秒数."

这与行为完全相同java.util.Date#getTime().我不清楚你想用这个时间数据做什么,但如果你想将Location时间转换为a java.util.Date,你可以这样做:

long time = location.getTime();
Date date = new Date(time);
Run Code Online (Sandbox Code Playgroud)

现在,它更容易使用.如果您想创建该日期的特定字符串输出格式,请使用SimpleDateFormat:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String text = sdf.format(date);
System.out.println(text); // prints something like 2011-01-08 13:35:48
Run Code Online (Sandbox Code Playgroud)

也就是说,如果您想要做的就是获取当前时间(这听起来就像您尝试的那样),您根本不需要Location:

Date now = new Date();
Run Code Online (Sandbox Code Playgroud)

而已!


这有帮助吗?如果没有,你能澄清一下你想做什么吗?