如何将 currentTimeMillis 转换为可读的日期格式?

我想使用 currentTimeMillis两次,所以我可以计算一个持续时间,但我也想显示时间和日期在用户可读的格式。我有麻烦,因为 currentTimeMillis是好的计算,但我不能看到一个内置的功能,以转换为美好的时间或时间/日期。

我吸毒

android.text.format.DateFormat df = new android.text.format.DateFormat();
df.format("yyyy-MM-dd kk:mm:ss", new java.util.Date());

for producing nice time and date and what I'd ultimately like to do is show my resulting currentTimeMillis value into the android.text.format.DateFormat df = new android.text.format.DateFormat();

e.g.

android.text.format.DateFormat df = currentTimeMillis();

当我尝试我得到

Type mismatch: cannot convert from long to DateFormat

我试过用一些演员,但不知道如何实现这一点。

158760 次浏览

It will work.

long yourmilliseconds = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
Date resultdate = new Date(yourmilliseconds);
System.out.println(sdf.format(resultdate));

在 Android 中有一个更简单的方法

 DateFormat.getInstance().format(currentTimeMillis);

Moreover, Date is deprecated, so use 日期格式 class.

   DateFormat.getDateInstance().format(new Date(0));
DateFormat.getDateTimeInstance().format(new Date(0));
DateFormat.getTimeInstance().format(new Date(0));

以上三行将给出:

Dec 31, 1969
Dec 31, 1969 4:00:00 PM
4:00:00 PM  12:00:00 AM