2010-11-20 5 views
0

다음과 같은 형식의 날짜가 있습니다.이 날짜를 어떻게 포맷 할 수 있습니까?

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

비슷한 것으로 변환하고 싶습니다.

"3 분 전"

어떻게하면됩니까?

+0

중복 [I 자바에서 시간 범위를 계산하고 출력을 포맷 할 수 있습니까?] (http://stackoverflow.com/questions/635935/how-can-i-calculate-a-time-span-in-java-and-format-the-output) – BalusC

답변

1

미운,하지만 트릭 ..을 수행하고 예, 중복! :(

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); 
} 
관련 문제