我正在使用 Location 类和 getTime() 方法来获取 Android 中的当前时间。然后我将该长号码发送到其他设备。该设备接收长数字并应在消息框中显示数据,但我不知道如何将其转换为 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 日开始以毫秒为单位返回时间。
这可能有助于如何获得所需的日期格式:Getting "unixtime" in Java