2012-04-28 88 views
44

我想两次使用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()); 

生产好的时间和日期,我想最终想要做的是显示我造成currentTimeMillis值到android.text.format.DateFormat df = new android.text.format.DateFormat();

例如

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

当我尝试,我得到

类型不匹配:不能从长转换为日期格式

我试着使用一些铸造,但不能看到如何做到这一点。

回答

100

它会工作。

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

感谢以为会有的东西,但它可能是更容易找到大海捞针一针!干杯。 – Purplemonkey 2012-04-28 14:45:55

4
Date date = new Date(currentmilliseconds); 

现在日期对象有标准日期。

你可以试试

31

有一个在Android的

DateFormat.getInstance().format(currentTimeMillis); 

此外,日期已被弃用一个简单的方法,因此使用DateFormat类。

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 
+0

当你调用'new Date(0)'时你不使用不赞成的构造函数吗? – SafaOrhan 2016-03-16 12:55:23

+0

刚刚检查..我不认为java.util.Date被depricated .. – amalBit 2016-03-16 14:04:02

+2

你是对的,'日期(字符串)'被弃用,而不是'日期(长)'。 – SafaOrhan 2016-03-16 14:20:12

相关问题