安卓位置时间进入日期



我正在使用Location类和getTime()方法来获取Android中的当前时间。然后我把那个长号码发送到其他设备。该设备接收 Long 数字并应在消息框中显示数据,但我不知道如何将其转换为 DD:MM:YY 和一天中的时间(或实际上人类可读的任何内容)。我该怎么做?我不能使用当前的格式,它必须是普通用户可以阅读的东西。

谢谢!

假设你不想使用Joda Time(对于Android应用程序来说可能有点大),你可能应该使用DateFormat,例如SimpleDateFormat

// See notes below
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date(location.getTime());
String formatted = format.format(date);

不过,您应该考虑一些文化问题:

  • 如果您认为默认设置可能不适合您,您可能希望显式设置区域设置
  • 您可能希望使用DateFormat.getDateTimeInstance()而不是对格式进行硬编码
  • 你应该考虑你感兴趣的时区;大概是用户的时区,这应该是你创建的任何DateFormat的默认值,但也许还有其他东西......

你这样做

long longD// as you receive in long format
Date d = new Date(longD);
SimpleDateFormat sdf = new SimpleDateFormat("dd:MM:yy");
String sDate = sdf.format(d);

从这里: http://developer.android.com/reference/android/location/Location.html#getTime%28%29 您可以看到方法getTime从1970年1月1日开始以毫秒为单位返回时间。

这可能有助于如何获取所需的日期格式:在Java中获取"unixtime"

最新更新