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

Pur*_*key 55 java time datetime android date

我想使用currentTimeMillis两次,所以我可以计算持续时间,但我也想以用户可读的格式显示时间和日期.我遇到麻烦currentTimeMillis虽然对计算有好处,但我看不到内置函数转换为好时间或时间/日期.

我用

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

为了产生美好的时间和日期,我最终想做的是将我的结果currentTimeMillis价值 显示出来android.text.format.DateFormat df = new android.text.format.DateFormat();

例如

android.text.format.DateFormat df = currentTimeMillis();
Run Code Online (Sandbox Code Playgroud)

当我尝试我得到

类型不匹配:无法从long转换为DateFormat

我试图使用一些铸造,但无法看到如何实现这一目标.

asi*_*ish 131

它会工作.

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


ama*_*Bit 34

Android中有一种更简单的方法

 DateFormat.getInstance().format(currentTimeMillis);
Run Code Online (Sandbox Code Playgroud)

此外,不推荐使用Date,因此请使用DateFormat类.

   DateFormat.getDateInstance().format(new Date(0));  
   DateFormat.getDateTimeInstance().format(new Date(0));  
   DateFormat.getTimeInstance().format(new Date(0));  
Run Code Online (Sandbox Code Playgroud)

以上三行将给出:

Dec 31, 1969  
Dec 31, 1969 4:00:00 PM  
4:00:00 PM  12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

  • 你是对的,`Date(String)`不推荐使用,而不是'Date(long)`. (2认同)