web-dev-qa-db-ja.com

currentTimeMillisを読み取り可能な日付形式に変換する方法は?

currentTimeMillisを2回使用して期間を計算したいのですが、ユーザーが読み取り可能な形式で時刻と日付を表示したいのです。 currentTimeMillisが計算に適しているのに問題がありますが、Niceの時刻または時刻/日付に変換する組み込み関数が表示されません。

私が使う

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();

私が試してみると

型の不一致:longからDateFormatに変換できません

私はいくつかのキャストを使用しようとしましたが、これを達成する方法がわかりません。

52
Purplemonkey

それが動作します。

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

Androidにはもっと簡単な方法があります

 DateFormat.getInstance().format(currentTimeMillis);

さらに、Dateは廃止されているため、 DateFormat classを使用します。

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

上記の3行は以下を提供します。

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