2010-11-20 8 views
0

私はフォーマットがあり、日付があります:私はのようなものに変換したいこの日付をフォーマットするにはどうすればよいですか?

"yyyy-MM-dd'T'HH:mm:ss'Z'" 

を:

「3分前」

をどのように私はこれを行うについて行くことができます?

+0

の重複[どのように私はJavaでの期間を計算し、出力をフォーマットすることができますか?] (http://stackoverflow.com/questions/635935/how-can-i-calculate-a-time-span-in-java-and-format-the-output) – BalusC

答えて

1

醜いのが、トリック..を行い、はい、重複しました! :(日付をoarsingするため

public static void main(String[] args) { 
    Calendar c = Calendar.getInstance(); 
    c.set(2010, 10, 20, 22, 37, 12); 

    Date start = c.getTime(); 

    Date end = new Date(); 


    long diff = (end.getTime() - start.getTime())/1000; 

    long days = diff/(60 * 60 * 24); 
    long hours = diff/(60 * 60) - days * 24; 
    long minutes = diff/60 - (hours * 60 + days * 24 * 60); 
    long seconds = diff % 60; 

    String output = ""; 
    if (days >= 1) 
     output += days + " day" + ((days > 1) ? "s" : ""); 

    if (hours >= 1) 
     output += " " + hours + " hour" + ((hours > 1) ? "s" : ""); 

    if (minutes >= 1) 
     output += " " + minutes + " minute" + ((minutes > 1) ? "s" : ""); 

    if (seconds >= 1) 
     output += " " + seconds + " second" + ((seconds > 1) ? "s" : ""); 

    output = output.trim(); 

    System.out.println(output); 
} 
関連する問題